Java中使用+作为字符串连接符,它是把多个字符串合并成一个字符串的方便途径。对于单独一行的输出、或者较小的大小固定对象,使用连接符方便且合适。但是对于大规模的场景,字符串连接符变得有些不合时宜。

以连接N个字符串为列,重复的使用字符串连接符需要N的平方的时间量,最主要的原因是String类是不可变类导致的,即当连接两个字符串时,它们的内容都要存在一次拷贝。每一次连接,原有的两个字符串对象都不变,连接后的结果是一个新生成的对象。这种方式,不仅时间需求很大,而且对内存的要求也非常高。
如果拼接的字符串很多,使用字符串连接符的计算时间和对性能的消耗变得难以估算。为了使性能在接受范围内,可以使用StringBuilder替代String,来连接字符串。
以下是两种方式的测试代码:
<span style="font-size:18px;">public static void main(String[] args) {
long start1 = System.currentTimeMillis();
String result1 ="";
for(int i = 0 ; i < 50000;i++){
result1 += String.valueOf(i);
}
long end1 = System.currentTimeMillis();
System.out.println("String Connect Time:"+(end1-start1)+"ms");
long start2 = System.currentTimeMillis();
StringBuilder result2 = new StringBuilder();
for(int i = 0 ; i < 50000;i++){
result2.append(i);
}
long end2 = System.currentTimeMillis();
System.out.println("StringBulider Connect Time:"+(end2-start2)+"ms");
}</span>
这两中做法的差距非常大,我所做的测试中,第二种做法要比第一种做法高4到5个数量级。随着连接数目的增多,两种方式的性能差距也更加明显。
总结一下:不要使用字符串连接符来连接多个字符串,除非系统对性能无要求。还有一点是,可以使用字符数组,或者每次只处理一个字符串,而不是将他们组合起来。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# Java
# 字符串连接性能
# 字符串
# 字符串连接性能详解
# Java生成MD5加密字符串代码实例
# Java判断字符串中是否包含中文方法
# java判断字符串String是否为空问题浅析
# java去除字符串中的空格、回车、换行符、制表符的小例子
# java 字符串匹配函数
# java拼接字符串时去掉最后一个多余逗号的方法
# Java实现字符串倒序输出的常用方法小结
# 用Java正则去掉字符串中重复出现的字符
# 多个
# 两种
# 可以使用
# 是一个
# 都要
# 它是
# 希望能
# 不合时宜
# 要比
# 所做
# 最主要
# 较小
# 谢谢大家
# 非常大
# 第二种
# 第一种
# 连接数
# 而不是
# 在接受
# 测试中
相关文章:
图册素材网站设计制作软件,图册的导出方式有几种?
定制建站流程步骤详解:一站式方案设计与开发指南
专业网站建设制作报价,网页设计制作要考什么证?
,购物网站怎么盈利呢?
较简单的网站制作软件有哪些,手机版网页制作用什么软件?
制作表格网站有哪些,线上表格怎么弄?
如何高效利用200m空间完成建站?
如何配置FTP站点权限与安全设置?
枣阳网站制作,阳新火车站打的到仙岛湖多少钱?
台州网站建设制作公司,浙江手机无犯罪记录证明怎么开?
网站建设制作、微信公众号,公明人民医院怎么在网上预约?
c++23 std::expected怎么用 c++优雅处理函数错误返回【详解】
建站之星2.7模板快速切换与批量管理功能操作指南
济南企业网站制作公司,济南社保单位网上缴费步骤?
油猴 教程,油猴搜脚本为什么会网页无法显示?
如何生成腾讯云建站专用兑换码?
兔展官网 在线制作,怎样制作微信请帖?
网站制作服务平台,有什么网站可以发布本地服务信息?
独立制作一个网站多少钱,建立网站需要花多少钱?
网站制作员失业,怎样查看自己网站的注册者?
存储型VPS适合搭建中小型网站吗?
,怎么在广州志愿者网站注册?
北京的网站制作公司有哪些,哪个视频网站最好?
郑州企业网站制作公司,郑州招聘网站有哪些?
网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?
建站之星如何开启自定义404页面避免用户流失?
Swift中swift中的switch 语句
建站上传速度慢?如何优化加速网站加载效率?
建站之星安装模板失败:服务器环境不兼容?
如何实现建站之星域名转发设置?
C#怎么使用委托和事件 C# delegate与event编程方法
代购小票制作网站有哪些,购物小票的简要说明?
如何快速搭建安全的FTP站点?
,石家庄四十八中学官网?
海南网站制作公司有哪些,海口网是哪家的?
网站制作报价单模板图片,小松挖机官方网站报价?
制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?
C++中的Pimpl idiom是什么,有什么好处?(隐藏实现)
如何快速查询网址的建站时间与历史轨迹?
移民网站制作流程,怎么看加拿大移民官网?
无锡制作网站公司有哪些,无锡优八网络科技有限公司介绍?
建站之星免费版是否永久可用?
如何设计高效校园网站?
高配服务器限时抢购:企业级配置与回收服务一站式优惠方案
建站主机服务器选型指南与性能优化方案解析
建站之家VIP精选网站模板与SEO优化教程整合指南
广德云建站网站建设方案与建站流程优化指南
黑客如何利用漏洞与弱口令入侵网站服务器?
如何正确下载安装西数主机建站助手?
手机网站制作与建设方案,手机网站如何建设?
*请认真填写需求信息,我们会在24小时内与您取得联系。