为什么Java-8中不再需要StringBuilder拼接字符串
生活休闲 >
随笔 >
其它 >
文档预览
4 页
1840 浏览
2 收藏
5.0分
摘要:北大青鸟中关村为什么Java8中不再需要StringBuilder拼接字符串在Java开发者中,字符串的拼接占用资源高往往是热议的话题.让我们深入讨论一下为什么会占用高资源。在Java中,字符串对象是不可变的,意思是它一旦创建,你就无法再改变它。所以在我们拼接字符串的时候,创建了一个新的字符串,旧的被垃圾回收器所标记。如果我们处理上百万的字符串,然后,我们就会生成百万的额外字符串被垃圾回收器处理。虚拟机底层在拼接字符串时执行了众多操作。拼接字符串最直接的点操作(dotoperator)就是String#concat(String)操作。publicintifStringconcat(StringotherLen(otherLen===str){str.length();0){returnthis;}intlen=value.length;charbuf[]=Arrays.copyOf(value,len+otherLen);北大青鸟中关村str.getChars(buf,len);returnnewString(buf,true);}publicstaticchar[]copyOf(char[]original,intnewLength){char[]copy=newchar[newLength];System.arraycopy(original,0,copy,0,Math.min(original.length,newLength));returncopy;}voidgetChars(chardst[],intdstBegin){System.ar
温馨提示:当前文档最多只能预览
5 页,若文档总页数超出了
5 页,请下载原文档以浏览全部内容。
本文档由 匿名用户 于 2021-09-14 01:19:59上传分享