StringBuffer和String的区别?
前者长度和内容可变,后者不可变。
若是使用前者作字符串的拼接,不会浪费太多的资源。java
StringBuffer的构造方法:
public StringBuffer():无参构造方法
public StringBuffer(int capacity):指定容量的字符串缓冲区对象
public StringBuffer(String str):指定字符串内容的字符串缓冲区对象数组
默认容量为16安全
添加功能:app
public StringBuffer append(String str):追加
public StringBuffer insert(int offset,String str):指定位置插入字符串ui
删除功能:
public StringBuffer deleteCharAt(int index):删除指定位置的字符,并返回自己
public StringBuffer delete(int start,int end):删除从指定位置开始指定位置结束的内容,并返回自己
替换功能:
public StringBuffer replace(int start,int end,String str):从start开始到end用str替换spa
反转功能:
public StringBuffer reverse()对象
截取功能:ci
注意返回值类型再也不是StringBuffer自己了
public String substring(int start)
public String substring(int start,int end)资源
String -转化为-StringBuffer字符串
String s = "hello";
// 注意:不能把字符串的值直接赋值给StringBuffer
// StringBuffer sb = "hello";
// StringBuffer sb = s;
// 方式1:经过构造方法
StringBuffer sb = new StringBuffer(s);
// 方式2:经过append()方法
StringBuffer sb2 = new StringBuffer();
sb2.append(s);
StringBuffer -转化为- String
StringBuffer buffer = new StringBuffer("java");
// String(StringBuffer buffer)
// 方式1:经过构造方法
String str = new String(buffer);
// 方式2:经过toString()方法
String str2 = buffer.toString();
1:String,StringBuffer,StringBuilder的区别? A:String是内容不可变的,而StringBuffer,StringBuilder都是内容可变的。 B:StringBuffer是同步的,数据安全,效率低;StringBuilder是不一样步的,数据不安全,效率高 2:StringBuffer和数组的区别? 两者均可以看出是一个容器,装其余的数据。 可是呢,StringBuffer的数据最终是一个字符串数据。 而数组能够放置多种数据,但必须是同一种数据类型的。3:形式参数: 基本类型:形式参数的改变不影响实际参数 引用类型:形式参数的改变直接影响实际参数 *注意: String做为参数传递,效果和基本类型做为参数传递是同样的。