StringBuffer:字符串缓冲区。
特点:线程安全的可变字符序列。------代码安全,不会出错,代码的执行效率低。
StringBuffer和String的区别
1.String长度固定,内容固定。
StringBuffer长度可变,内容可变。
构造方法:
public StringBuffer()容量16个字符
方法:public int capacity()返回当前容量
public int length()返回长度(实际使用的空间)
构造方法:
public StringBuffer(int capacity)构造一个不带字符的字符缓冲区,但指定容量;
public StringBuffer(String str)创建一个带字符的字符缓冲区,容量为16加字符串的长度
方法:
添加方法:
public StringBuffer append()追加,在原有数据的基础上,添加新数据
将指定的参数类型数据[任意类型数据],添加到当前的字符串缓冲区对象中,返回当前字符串缓冲区对象
public StringBuffer insert()在原有基础上插入新数据
在指定的位置上,插入到当前的字符串缓冲区对象中,返回当前字符串缓冲区对象
删除方法:
public StringBuffer deleteCharAt(int index)
把指定位置上的数据,把当前的字符串缓冲区对象删除,返回当前的字符串缓冲区对象;
public StringBuffer delete(int start,int end)包左不包右
从指定位置开始,到指定位置结束,在当前字符串对象缓冲区对象删除,返回当前的字符串缓冲区对象;
替换功能:public StringBuffer replace(int start,int end,String str)包左不包右
从指定位置开始,到指定位置结束,用给定的字符串,将字符串缓冲区中的数据替换,返回当前的字符串缓冲区对象
反转功能:public StringBuffer reverse()反转,返回的是当前字符串缓冲区对象
截取功能 返回的是String类型,本身没有发生改变。
public String subString(int start)
从指定位置开始,到结尾结束,截取该字符串缓冲区的数据,返回的是String类型。
public String subString(int start,int end)
从指定位置开始,到指定位置结束,截取该字符串缓冲区的数据,返回的是String类型
StringBuilder:一个可变的序列,此类提供一个与StringBuffer兼容的API,但不保证同步。
String:长度固定,内容不可变;
StringBuffer:长度可变,内容可变,线程同步,代码运行安全,效率低
StringBuilder:长度可变,内容可变,线程不同步,代码运行有隐患,效率高
java参数传递:
传递基本类型:形式参数的改变对实际参数没有影响;
传递引用类型:形式参数的改变对实际参数有影响;
String作为参数传递:形式参数的改变对实际参数没有影响,因为String是一个常量;
StringBuffer作为参数传递:形式参数的改变对实际参数有影响。
|