黑马程序员技术交流社区
标题:
String类的小总结
[打印本页]
作者:
活的精彩
时间:
2015-12-5 00:10
标题:
String类的小总结
本帖最后由 活的精彩 于 2015-12-5 00:25 编辑
1:String类(1)多个字符组成的一个序列,叫字符串。所以,java就提供了这样的一个类供我们使用。
(2)创建字符串对象
A:String():无参构造
B:String(byte[] bys):传一个字节数组作为参数
C:String(byte[] bys,int index,int length):把字节数组的一部分转换成一个字符串
D:String(char[] chs):传一个字符数组作为参数
E:String(char[] chs,int index,int length):把字符数组的一部分转换成一个字符
F:String(String str):把一个字符串传递过来作为参数
G:直接把字符串常量赋值给字符串引用对象(最常用)
备注:
String对象一经创建就不会发生变化了,因为String类底层是被final修饰的数组,所以长度一旦创建,不能改变,也不能被继承。这个对象即便是赋新值也不是在原对象的基础上改变,而是创建一个新的字符串对象,将引用指向这个新的对象,会造成空间的浪费,效率较低。
(3)补充:
1)“==”比较的是地址值,equals比较的是字符串中的内容
2)“ ”和null的区别
“ ”是字符串常量,同时也是一个String类的对象,既然是对象当然可以调用String类中的方法
null是空常量,不能调用任何的方法,否则会出现空指针异常,null常量可以给任意的引用数据类型
2.StringBuffer和StringBuilder
1).StringBuffer它是一个字符串缓冲区,用来存储和操作字符串。
线程安全效率低。
2).StringBuffer是一个字符串容器,那他空参的构造方法初始容量是
16
,当超过这个容量时,他的容量会自动增大。
3).StringBuffer是jdk1.0版本的,是线程安全的,效率低。
StringBuilder是jdk1.5版本的,是线程不安全的,效率高
4).String是一个不可变的字符序列。
StringBuffer,StringBuilder
是可变的字符序列。
5).A:StringBuffer的构造方法:
public StringBuffer():无参构造方法
public StringBuffer(int capacity):指定容量的字符串缓冲区对象
public StringBuffer(String str):指定字符串内容的字符串缓冲区对象
B:StringBuffer的方法:
public int capacity():返回当前容量。
public int length():返回长度(字符数)。
6).StringBuffer的添加功能
* public StringBuffer append(String str):
* 可以把任意类型数据添加到字符串缓冲区里面,并返回字符串缓冲区本身
* public StringBuffer insert(int offset,String str):
* 在指定位置把任意类型的数据插入到字符串缓冲区里面,并返回字符串缓冲区本身
7).
StringBuffer的删除功能
* public StringBuffer deleteCharAt(int index): 删除指定位置的字符,并返回本身
* public StringBuffer delete(int start,int end):删除从指定位置开始指定位置结束的内容,并返回本身
8).
StringBuffer的替换功能
* public StringBuffer replace(int start,int end,String str): 从start开始到end用str替换
9).StringBuffer的反转功能
* public StringBuffer reverse(): 字符串反转
10).
StringBuffer的截取功能(返回值是stringbuffer)
* public String substring(int start): 从指定位置截取到末尾
* public String substring(int start,int end):截取从指定位置开始到结束位置,包括开始位置,不包括结束位置
* 注意:返回值类型不再是StringBuffer本身
11. 1)
String -- StringBuffer
* a:通过构造方法
* b:通过append()方法
2)StringBuffer -- String
* a:通过构造方法
* b:通过toString()方法
* c:通过subString(0,length);
作者:
野生小屌丝
时间:
2015-12-5 15:03
顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶
作者:
wyasln
时间:
2015-12-5 15:19
用多了就熟悉了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2