字符串: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();