字符串:String 是final类,初始化之后,不会再改变,尽量不要使用+来对字符串进行拼接。下面举几个栗子:
片段一:禁止在循环体中使用通过+ 来拼接字符串
/**
* 禁止在循环体中使用通过 + 来拼接字符串
* */
String result = "";
for (int i = 0; i < 100; i++) {
result += "z"; // result = new StringBuilder(result).append("z").toString(); 每行都会产生一个临时的StringBuilder
}
System.out.println(result);
片段二:推荐使用StringBuilder进行拼接字符串
StringBuilder result = new StringBuilder(); //此种方法高效
for(int i=0;i<100;i++){
result.append("z");
}
片段三:不要在StringBuilder 的append方法中拼接两个以上的字符串对象
StringBuilder sb = new StringBuilder();
String a = "a";
String b = "b";
sb.append(a + "," + b ); //不要这样做,(a + "," + b) 会在拼接的过程中产生临时StringBuilder对象
片段四:多个字符串相加会通过中间临时对象StringBuilder对象进行追加
String result = "a" + "b" + "c" ; //此步骤编译器会翻译成: result = new StringBuilder("a").append("b").append("c").toString();