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方法;

全部评论

相关推荐

10-14 21:00
门头沟学院 Java
吃花椒的狸猫:这个人说的倒是实话,特别是小公司,一个实习生哪里来的那么多要求
点赞 评论 收藏
分享
浩浩没烦恼:一二面加起来才一个小时? 我一面就一个小时多了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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