字符串的“+”操作其本质是创建了StringBuilder对象进行append操作,然后将拼接后的StringBuilder对象用toString方法处理成String对象。
String s1="lovecat"; String s2="love"+"cat";
System.out.println(s1==s2);//true
注意(小优化):在使用StringBuilder时,尽量不要“+”和StringBuilder混用,否则会创建更多的StringBuilder对象。
public static void toSb() {
StringBuilder sb = new StringBuilder();
Random rand = new Random();
for (int i = 0; i < 10; i++) {
sb.append(rand.nextInt(1000) + " ");
// 等价于:
sb.append((new StringBuilder(String.valueOf(rand.nextInt(1000))).append(" ").toString()));//创建10次StringBuilder对象
// 以上替换为:
sb.append(rand.nextInt(1000));
sb.append(" ");
}
System.out.println(sb);
}