String拼接优化为StringBuilder.append

从jdk 5开始,Java就对String字符串的+操作进行了优化,该操作编译成字节码文件后会被优化为StringBuilder的append操作。

StringBuilder.append源码

 @Override
    public StringBuilder append(Object obj) {
        return append(String.valueOf(obj));
    }

String.valueOf源码

    public static String valueOf(Object obj) {
        return (obj == null) ? "null" : obj.toString();
    }

所以,循环内String+常量的话会每次new一个StringBuilder,再调用append方法。而调用append方法之前首先要调用String.valueOf()也就是调用toString方法;

全部评论

相关推荐

敢逐云霄志:你打招呼语怎么能这么长,hr都没看下去的欲望,简明扼要说重点,就读于某某学校某某专业,26届应届毕业生,学信网可查,先后在某某公司实习过(如有),然后做过什么项目,想找一份什么样的工作,可实习几个月以上,期待您的回复。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务