String a= "a" + "b" + "c";
StringBuffer a1 = new StringBuffer("a" + "b" + "c");
这两种效率相同,都是在创建对象,开辟空间,第三种调用了三次append方法,效率最低。
但是前两种,还有区别就是
如果将来又写了如下代码
StringBuffer a2 = new StringBuffer("a" + "b" + "c");
String a3= "a" + "b" + "c";
其中第一行是在对内存开辟新的空间,并把地址赋值给引用
但是第二个,由于常量池中已经有了相同的对象
所以是不会再建立新的对象的,只是指向了原来的相同对象。
所以,考虑到将来的话,第一个效率最高。 |