字符串
不可变的String
String对象是不可变的,String类中每一个看起来会修改String值的方法,实际上都是创建了一个全新的String对象,以包含修改后的字符串内容。所以最初的String对象根本没有被改变。
String s = “abc” + str + “def”;
以上代码,对字符串s执行“+”操作时,编译器会创建一个StringBuilder对象,用以构造最终的String,并为每个字符串调用一次StringBuilder的append()方法,最后调用toString()生成结果。
如在for循环中使用“+”,则会在每次循环时都创建一个新的StringBuilder对象。