search

Home  >  Q&A  >  body text

java StringBuilding 定义

这2种定义方式 有不同吗??第一种会慢吗?bVFkzX.png

高洛峰高洛峰2957 days ago839

reply all(2)I'll reply

  • 代言

    代言2016-11-09 14:12:42

    javap -c看看,编译器应该会把你用+连接起来的字符串常量拼接到一起,两种写法运行起来应该是一样的。

    reply
    0
  • 三叔

    三叔2016-11-09 14:12:26

    第一种那不止是慢的问题,而是一段像屎的一样代码。

    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的意义是什么?本身不就是一个字符串了吗?


    reply
    0
  • Cancelreply