每当我用+运算符拼接字符串时, 总有人跟我提出你应该用StringBuffer.
我真的希望提建议的人先看看String类的源代码, 从JavaSE6开始, 通过+运算符拼接字符串就是用StringBuilder或者StringBuffer类和他们的append()方法来实现的.
原话如下:
From java.lang.String source code:
The Java language provides special support for the string concatenation operator ( + ), and for conversion of other objects to strings. String concatenation is implemented through the StringBuilder
(or StringBuffer
) class and its append
method. String conversions are implemented through the method toString
, defined by Object
and inherited by all classes in Java. For additional information on string concatenation and conversion, see Gosling, Joy, and Steele, The Java Language Specification.
但是, 这种实现只是依赖于Javac的语法糖解析的, 编译后的class代码对于字符串+的拼接并没有做优化,
所以执行效率上将, 语法糖解析后的+拼接的代码依然达不到StringBuilder或者StringBuffer那样的速度.
具体讨论可以参考这篇帖子的讨论:
http://www.iteye.com/topic/1040986
所以具体到实际情况时:
对于需要大量使用的字符串拼接的情况(比如在循环中), 最好使用StringBuilder或者StringBuffer.
否则可以直接使用+以方便阅读.
相关推荐
JAVA的字符串拼接与性能 概述:本文主要研究的是JAVA的字符串拼接的性能,原文中的测试代码在功能上并不等价,导致concat的测试意义不大。不过原作者在评论栏给了新的concat结果,如果有兴趣的同学建议自己修改代码...
主要介绍了Java字符串拼接效率测试过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
Java字符串长度不够,将其前面补0或者后面补0,适用于字典序比较前,将要比较字符串的位数保持一致,再进行比较。
要说姿势,“+”号操作符必须是字符串拼接最常用的一种了,没有之一。 String chenmo = "沉默"; String wanger = "王二"; System.out.println(chenmo + wanger);
主要介绍了Java 字符串拼接竟然有这么多姿势,很值得大家收藏,需要的朋友可以参考下
主要介绍了JAVA字符串拼接常见方法,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
在JAVA中拼接两个字符串的最简便的方式就是使用...如果你用”+”来连接固定长度的字符串,可能性能上会稍受影响,但是如果你是在循环中来”+”多个串的话,性能将指数倍的下降,下面我们分析一下JAVA字符串拼接的性能
JAVA的字符串拼接[参照].pdf
在本篇文章中小编给大家分享的是一篇关于Java字符串拼接新方法 StringJoiner用法详解,需要的读者们可以参考下。
数组和字符串 * 滑动窗口问题 * ID:通常需要在较长的字符串中找到最短或最长的某个部分 * 有时从前面和后面开始(陷阱水),其他时候从前面和一英寸开始* 运行最大问题和线性 dp * ID:通常需要从整数数组中找到某...
95.java拼接字符串案例.zip95.java拼接字符串案例.zip95.java拼接字符串案例.zip95.java拼接字符串案例.zip95.java拼接字符串案例.zip95.java拼接字符串案例.zip95.java拼接字符串案例.zip95.java拼接字符串案例.zip...
一款方便将java与sql语句互相转换的小工具,在日常工作开发中,非常实用,f方便写字符串拼接的语句,常用选项是String和StringBuffer
字符串拼接 public class 字符串拼接 { public static void main(String[] args) { int[] arr = {1, 2,3}; String s = arrayToString(arr); System.out.println(s); } public static String arrayToString(int...
将SQL字符串按不同开发语言格式化,让你不需要为不同开发语言的SQL连接烦恼,欢迎来下载使用,用了很久都是一直很好用
主要给大家介绍了关于java中拼接字符串的5种方法效率对比的相关资料,文中通过示例代码和图片介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
关于java习惯的笔试题拼接 像大象一样,Splice 有很多东西,这取决于您的上下文和联系点: 一个无主的分布式数据库 一个 Observed-Remove 多图 CRDT,它通过数据日志呈现/实现查询功能,通过...支持存储 一种将操作...
String(1)创建一个字符串对象。 typeof new String(1) === 'object' String(1)创建一个原始字符串变量。 typeof String(1) === 'string' 。 但是我们仍然可以在这个变量上调用 String 对象方法,因为浏览器会自动...
本文主要介绍Java 字符串的拼接知识内容,这里整理了相关资料,及简单的示例代码,有兴趣的小伙伴可以参考下
关于java习惯的笔试题挫败 一个小的编译和静态类型的 Lisp。 建造 依赖于 C++14 编译器,Java 和 Leiningen 在路径上。 make check 语言属性 按重要性的粗略排序: 分层设计。 小核。 (方案,沉,C) 渐进区域 -> ...
主要介绍了Java中字符串拼接的一些细节分析,本文着重剖析了字符串拼接的一些性能问题、技巧等内容,需要的朋友可以参考下