検索

ホームページ  >  に質問  >  本文

java StringBuilding 定义

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

高洛峰高洛峰2957日前837

全員に返信(2)返信します

  • 代言

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

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

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


    返事
    0
  • キャンセル返事