这2种定义方式 有不同吗??第一种会慢吗?
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
javap -c看看,编译器应该会把你用+连接起来的字符串常量拼接到一起,两种写法运行起来应该是一样的。
第一种那不止是慢的问题,而是一段像屎的一样代码。
new StringBuilder("a").append("b").append("c"); new StringBuilder("a" + "b" + "c");
如果你像上面这种用,那还不如直接使用"a" + "b" + "c"因为没有使用到StringBuilder的任何特性,加上JDK的编译优化最终代码会变成如下。
new StringBuilder(new StringBuilder("a").append("b").append("c").toString());
第二种完全没看懂啊。使用StringBuilder的意义是什么?本身不就是一个字符串了吗?
javap -c看看,编译器应该会把你用+连接起来的字符串常量拼接到一起,两种写法运行起来应该是一样的。
第一种那不止是慢的问题,而是一段像屎的一样代码。
如果你像上面这种用,那还不如直接使用"a" + "b" + "c"因为没有使用到StringBuilder的任何特性,加上JDK的编译优化最终代码会变成如下。
第二种完全没看懂啊。使用StringBuilder的意义是什么?本身不就是一个字符串了吗?