当前位置: 代码迷 >> Java相关 >> 关于StringBuilder跟StringBuffer的append方法
  详细解决方案

关于StringBuilder跟StringBuffer的append方法

热度:18   发布时间:2016-04-22 19:40:58.0
关于StringBuilder和StringBuffer的append方法
有点钻牛角尖了,有一个困扰了我很久的问题,关于StringBuilder(或StringBuffer)的append方法,如:
1、

StringBuilder builder = new StringBuilder();
builder.append("1" + str1 + "2" + str2);

2、

StringBuilder builder = new StringBuilder();
builder.append("1");
builder.append(str1);
builder.append("2");
builder.append(str2);

其中,str1,str2为变量。

上面这两种方式有没有什么区别,比如效率啊之类的?
------解决思路----------------------
第2种更优效率更高。使用builder.append("1").append(str1).append("2").append(str2)更好
------解决思路----------------------
第二种效率高,这也是StringBuffer存在的意义。对String用+运算会建立一个新的字面量,这需要时间和资源。比如第一种,一共建立了四个字面量,分别是"1","1"+str1,"1"+str1+"2","1"+str1+"2"+str2