String+= 和StringBuilder的append

在jdk8中,String+=在底层其实是编译器擅自调用了StringBuilder类进行+的操作,主要原因是StringBuilder的append()更加高效

String字符串遇到+=时,创建了一个StringBuilder对象,并append了添加字符串最后调用StringBuilder的toString方法

所以String+=会不断地创建新的StringBuilder,大大降低了效率和增加了垃圾数量,所以我们要注意自己的写法,遇到String+=时避免无谓的消耗

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 源代码是万物之源。——黑客帝国 先看下String的源代码: 所以其实String就是一个char[]。唯一需要注...
    bingoc阅读 1,269评论 0 0
  • 从网上复制的,看别人的比较全面,自己搬过来,方便以后查找。原链接:https://www.cnblogs.com/...
    lxtyp阅读 1,357评论 0 9
  • String 的声明 由 JDK 中关于String的声明可以知道: 不同字符串可能共享同一个底层char数组,例...
    CodeKing2017阅读 1,653评论 1 2
  • Tip:笔者马上毕业了,准备开始 Java 的进阶学习计划。于是打算先从 String 类的源码分析入手,作为后面...
    石先阅读 12,036评论 16 58
  • 前言 RTFSC (Read the fucking source code )才是生活中最重要的。我们天天就是要...
    二毛_coder阅读 465评论 1 1