网站首页 > 技术文章 正文
在学习String的时候,我们会听到”尽量不要使用+拼接字符串,效率不好,应该使用append“,然后用+和用StringBuilder的append拼接个十万次,输出一下各自消耗的时间,差距非常大,说一句果然+拼接就是个垃圾。
但是这个测试时,循环中+拼接每次循环都会new一个StringBuilder,效率就差在这里,new一次时间消耗是很多的。
我们一次性+几个字符串,只要+拼接全部在一条语句中,就只会new一次,这样甚至快过append。
(只不过谁会在一句话中写上千上万个+号呢?)
关于拼接SQL语句,
对于那些静态固定的SQL,用+来换行增强可读性完全没有问题;
但是如果要动态改变SQL条件的话,还是应该使用StringBuilder的append,因为动态SQL肯定会根据不同的条件拼接不同的String变量,那么SQL语句中途肯定会断开,用+的话每断开一次都会new一次。这就是所谓的“慢”了。
总结
Java中+拼接字符串并不是人们口中所说的那样臭名昭著,人们口中所说的效率低下指的是在循环中的+拼接。如果你能保证在一条语句中把字符串或者字符串变量全部拼接完而不断开,那+拼接根本没有任何缺点,编译器还会有一些优化,如果拼接的全是字符串字面量,那效果更好,它们直接就变成了一个完整的字符串。并且+书写简洁方便,可读性强。直接用StringBuilder的append也没有问题,只是不要append()和+混合使用。
原文链接:https://blog.csdn.net/m0_37589327/article/details/78605268
- 上一篇: java使用ByteBuffer并进行多文件合并和拆分
- 下一篇:已经是最后一篇了
猜你喜欢
- 2024-11-25 【力扣】[Java版]刷题笔记-合并两个有序链表
- 2024-11-25 java使用ByteBuffer并进行多文件合并和拆分
- 2024-11-25 2020-12-17:java和go,如何高效的拼接字符串?
- 2024-11-25 Java字符串拼接技术演进及阿里巴巴的贡献
- 2024-11-25 如何提升Jmeter操作?那你一定得学会BeanShell
- 2024-11-25 Java 字符串拼接 五种方法的性能比较分析
- 2024-11-25 Java合并两个数组,以及数组排序并去重
- 2024-11-25 Java Stream 流如何进行合并操作
- 2024-11-25 Java请求合并与分而治之
- 2024-11-25 大厂面试-Java中字符串拼接有几种方式?
- 最近发表
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)