String + 和 append 区别

  作者:记性不好的阁主

String 的 + 字符串拼接:


实际代码:


public class aaa {
      public static void main(String[] args) {
           String a = "abc";
           a = a + "d";
    }
}


编译器之后的等效代码:


public class aaa {

 public static void main(String[] args) {
  String a = "abc";
  StringBuilder temp = new StringBuilder(a);
  temp.append("d");
  a = temp.toString();
 }


可以看到String + 是先 new 一个 StringBuilder

所以循环字符串拼接时,String 的 + 操作每次都会 new 一个对象,非常耗时;

而StringBuilder 的 append 操作只须直接在字符数组后面添加即可





相关推荐

评论 抢沙发

表情

分类选择