黑马程序员_<<StringBuffer,包装类>>
--------------------ASP.Net+Android+IOS开发、.Net培训、期待与您交流! --------------------
1. StringBuffer
1.概述
StringBuffer是一个容器,是字符串的缓冲区,线程安全序列
2.特点
长度可以变换,可以操作多种类型数组
2.增加和插入
1.在尾部插入数组,append(int a),此方法是子字符串的尾部插入的数据,有很多重载方法,此方法返回的是StringBuffer对象,还是本身对象
2.在字符串的指定位置插入数据,用insert(int a),此方法也有很多重载的方法,此方法返回的是StringBuffer对象,还是本身对象
3.StringBuffer bu=new StringBuffer(“abc”);
bu.insert(bu.length,”def”);和bu.append(“def”);是一样的。
public class StringBufferDemo {
public static void main(String [] agrs){
StringBuffer bu=new StringBuffer();
bu.append("abc").append(123).append(true);//在尾部连续添加
System.out.println("bu="+bu);
bu.insert(3, "xx");//在3的位置插入"xx",就是在"abc"后面
System.out.println("bu="+bu);
}
}
结果:
bu=abc123true
bu=abcxx123true
3. 一般操作
1.获取subString();
public void getChars(int srcBegin,int srcEnd,char[] dst,
int dstBegin)将字符串指定范围的字符串方法指定字节数组的范围内。
2替换replay()
3.删除 delete(start,end) deleteCharAt(int index)
public class StringBufferDemo {
public static void main(String [] agrs){
StringBuffer bu=new StringBuffer();
bu.append("abc").append(123).append(true);//在尾部连续添加
System.out.println("bu="+bu);
char []cs=new char[5];
bu.getChars(0, 4, cs, 1);//将bu中充0~4,包含0不包含4的字符方法字节数组中从1开始存放
for(char c:cs)
System.out.print(c+" ");
bu.deleteCharAt(2);//将第三个字符删除
System.out.println("bu="+bu);
bu.delete(0, bu.length());//清空字符串
System.out.println("bu="+bu);
}
}
4. StringBuilder
1.5版本之后才有的。线程不同步,不安全,但是能提高效率。可变的字符序列。简化书写,提高安全性用法和StringBuffer一样,其中也会有一个差异的。
5. 包装类
1. 概述
包装类就是把基本数据类型封装成了包和对象,这样就可以使用对象来操作了。
byte-----Byte int-----Integer
short-----Shortbyte-----Byte
double-----Double float---Float
char ---Character boolean---Boolean
作用,一般就是用于数据类型和字符串之间的转换,基本数据类型转换成字符串和字符串转换成基本数据类型
public class BaoZhuang {
public static void main(String[] args) {
String s1="123";
int a=Integer.parseInt(s1);//将字符串转换成整形
String s2=a+"abc";//将整形转换成字符串
System.out.println("s1="+s1);
System.out.println("a="+a);
System.out.println("s2="+s2);
}
}
结果:
s1=123
a=123
s2=123abc
2. 进制转换
public class BaoZhuang {
public static void main(String[] args) {
System.out.println("10转换成二进制:" + Integer.toBinaryString(10));
System.out.println("10转换成八进制:" + Integer.toOctalString(10));
System.out.println("10转换成十六进制:" + Integer.toHexString(10));
System.out.println("110转换成十进制:" + Integer.parseInt("110", 2));
System.out.println("076转换成十进制:" + Integer.parseInt("076", 8));
System.out.println("3c转换成十进制:" + Integer.parseInt("3c", 16));
}
}
结果:
10转换成二进制:1010
10转换成八进制:12
10转换成十六进制:a
110转换成十进制:6
076转换成十进制:62
3c转换成十进制:60
3.整形和Integer之间的转换。
Integer in=new Integer(“123”);
Int num=in.intValue();
Int n=Integer.parseInt(“123”); 6. 装箱和拆箱 public class Text {
public static void main(String[] args) {
//JDK1.5新特性
Integer n=3;//自动装箱,n是一个对象,而3是int类型,此时3会自动转换成Integer类型,这是自动装箱
n=n+2;//x是对象,2是基本数据类型,因为对象没有加法操作,所以
//n会自动的转换成in类型,然后和2想加,会把结果x+2自动的转换成Integer(装箱) Integer x=127;
Integer x1=127;
System.out.println(x==x1);//true
System.out.println(x.equals(x1));//true
Integer y1=128;
Integer y2=128;
System.out.println(y1==y2);//false
System.out.println(y1.equals(y2));//true /*在1.5新特性中,只要是在byte类型的范围 -128~127之间,他们都存在,不会在开辟新的空间,任何数据都相等
* 超过这个范围,那么他们的地址就不相等了*/
}
}
结果:
true
true
false
true
在1.5新特性中,只要是在byte类型的范围 -128~127之间,他们都存在,不会在开辟新的空间,任何数据都相等,超过这个范围,那么他们的地址就不相等了
--------------------ASP.Net+Android+IOS开发、.Net培训、期待与您交流! --------------------
黑马程序员_<<StringBuffer,包装类>>的更多相关文章
- 黑马程序员_<<String类>>
--------------------ASP.Net+Android+IOS开发..Net培训.期待与您交流! -------------------- 1. String类 1.概述 String ...
- 大数据-将MP3保存到数据库并读取出来《黑马程序员_超全面的JavaWeb视频教程vedio》day17
黑马程序员_超全面的JavaWeb视频教程vedio\黑马程序员_超全面的JavaWeb教程-源码笔记\JavaWeb视频教程_day17-资料源码\day17_code\day17_1\ 大数据 目 ...
- 2016年8月17日 内省(1)18_黑马程序员_使用beanUtils操纵javabean
8.内省(1):18_黑马程序员_使用beanUtils操纵javabean 1.导入两个包: 2.调用静态方法. 9.泛型 map.entrySet() :取出map集合的键值对组成一个set集合. ...
- 黑马程序员_高新技术之javaBean,注解,类加载器
----------- android培训.java培训.java学习型技术博客.期待与您交流! ---------- 第一部分 javaBean 一,由内省引出javaBean 1,内省: 内省对应 ...
- JavaWeb开发之四:servlet技术 黑马程序员_轻松掌握JavaWeb开发之四Servlet开发 方立勋老师视频教程相当的经典
总结: 记住:servlet对象在应用程序运行的过程中只创建一次,浏览器每次访问的时候,创建reponse对象 request对象,然后调用servlet的service方法,reponse对象和re ...
- 黑马程序员_ JAVA中的多线程
------- android培训.java培训.期待与您交流! ---------- 尽管线程对象的常用方法可以通过API文档来了解,但是有很多方法仅仅从API说明是无法详细了解的. 本来打算用一节 ...
- 黑马程序员_ Objective-c 面向对象笔记详解
1)类,对象,方法 类 类名: 1) 类名的第一个字母必须是大写 2) 不能有下划线 3) 多个英文单词,用驼峰标识 类的声明和实现 类的声明 @interface 类名 : NSObject { @ ...
- 黑马程序员_ Objective-c 概述及面向对象与三大特性
-----------android培训.java培训.java学习型技术博客.期待与您交流!------------ (一).语法概述 1. oc介绍:(.m文件) 1> c语言的基础上,增加 ...
- 黑马程序员_ Objective-c 之block、protocol学习笔记
一):block学习总结 block :用来保存一段代码. 1.block 特点: 1> Block封装了一段代码,可以在任何时候执行 2> Block可以作为函数或者函数的返回值, ...
- 黑马程序员——OC语言 类和对象
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)类 1)类的声明 代码编写 ①定义一个Car类,拥有2个属性:轮子数 ...
随机推荐
- Extjs Store 的用法详解
Ext.data.Store的基本用法 在使用之前,首先要创建一个Ext.data.Store的实例,如下面的代码所示. 每个store最少需要两个组件的支持,分别是proxy和reade ...
- Eclipse --Type /com.xx.app/gen already exists but is not a source folde解决方案
两种解决方案: Two actions, first: 1.Right click on the project and go to "Properties" 2.Select & ...
- jquery学习(2)--选择器
jquery-李炎恢学习视频学习笔记.自己手写. 简单的选择器 css 写 法: #box{ color:#f00;} //id选择器 jquery获取:$('#box').css( ...
- WebUploader IE9下报错
WebUploader是由Baidu WebFE(FEX)团队开发的一个简单的以HTML5为主,FLASH为辅的现代文件上传组件.在项目中,推荐并一直在使用WebUploader进行文件上传业务开发. ...
- Asp.net MVC学习
一.mvc项目的创建并运行 1.启动vs2010 2.新建项目 3.选择Asp.net mvc应用程序 4.不创建测试用例 5.创建之后的效果 6.运行后的mvc程序
- Oracle查看和修改连接数(进程/会话/并发等等)
查询数据库当前进程的连接数及会话的连接数.并发连接数以及会话情况等等,感兴趣的你可以参考下哈,希望可以帮助到你 1.查询数据库当前进程的连接数: 复制代码 代码如下: select count(* ...
- PHP学习之数据库操作
PHP数据库操作: 一.连接数据库 mysql_connect() 例:$link=mysql_connent("localhost","root"," ...
- Robot Framework作者建议如何选择自动化测试框架
本文摘自:InfoQ中文站http://www.infoq.com/cn/news/2012/06/robot-author-suggest-autotest Robot Framework作者建议如 ...
- shell脚本中常见的一些特殊符号和作用详解
这篇文章主要介绍了shell脚本中常见的一些特殊符号和它的作用详解,总结的很简洁,容易看懂,需要的朋友可以参考下 在编写Shell脚本时,我们需要会用到各种各样的特殊符号,通过这些特殊符号可以使我 ...
- NYOJ 7-街区最短路径问题(曼哈顿距离)
街区最短路径问题 时间限制:3000 ms | 内存限制:65535 KB 难度:4 描述 一个街区有很多住户,街区的街道只能为东西.南北两种方向. 住户只可以沿着街道行走. 各个街道之间的间 ...