创建新的字符串 String对象,系统开销大,如果要修改字符串而不创建新的对象,可以使用System.Text.StringBuilder类。
String与StringBuilder相互转换,原因:在StringBuilder中有append()和reverse()两个很好用的方法,而String是无法使用的。
//StringBuilder的两种构造方法
public class StringBuilderDemo01 {
public static void main(String[] args) {
// 1. public StringBiilder(); 创建一个空白可变字符串,不包含任何内容
StringBuilder sb1 = new StringBuilder();
System.out.println("sb+" + sb1);
System.out.println("sb.length():" + sb1.length());
// 2. public StringBuilder(String str); 跟几乎字符串的内容,来创建可变字符串对象
StringBuilder sb2 = new StringBuilder("hello");
System.out.println("sb2:" + sb2);
System.out.println("sb2.length" + sb2.length());
}
}
//StringBuilder的添加数据,和反转数据
public class StringBuilderDemo02 {
public static void main(String[] args) {
//创建对象
StringBuilder sb = new StringBuilder();
//链式编程
sb.append("hello").append("world").append("java").append(100);
System.out.println("sb:" + sb);
//public StirngBuilder reverse(); 返回相反的字符序列
sb.reverse();
System.out.println("反转sb:" + sb);
}
}
//String与StringBuilder相互转换.
//原因:在StringBuilder中有append()和reverse()两个很好用的方法,而String是无法使用的。
public class StringBuilderDemo03 {
public static void main(String[] args) {
// 1. SB转化为S:
// public String toString(): 来实现
StringBuilder sb = new StringBuilder();
sb.append("hello"); //String s = sb; 这是错误的
// 2. S转化为SB: 通过构造方法实现
// public StringBuilder(String s): 来实现
String s = "hello"; //StringBuilder sb = s;这是错误的做法
StringBuilder sb2 = new StringBuilder(s);
System.out.println(sb2);
}
}