84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
这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的意义是什么?本身不就是一个字符串了吗?