`
iwindyforest
  • 浏览: 230015 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

java的字符串拼接

阅读更多

 

每当我用+运算符拼接字符串时, 总有人跟我提出你应该用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的字符串拼接与性能 概述:本文主要研究的是JAVA的字符串拼接的性能,原文中的测试代码在功能上并不等价,导致concat的测试意义不大。不过原作者在评论栏给了新的concat结果,如果有兴趣的同学建议自己修改代码...

    Java字符串拼接效率测试过程解析

    主要介绍了Java字符串拼接效率测试过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    Java字符串前面或后面补0(适用于等不同长度比较) .txt

    Java字符串长度不够,将其前面补0或者后面补0,适用于字典序比较前,将要比较字符串的位数保持一致,再进行比较。

    七种java字符串拼接详解.docx

    要说姿势,“+”号操作符必须是字符串拼接最常用的一种了,没有之一。 String chenmo = "沉默"; String wanger = "王二"; System.out.println(chenmo + wanger);

    Java 字符串拼接竟然有这么多姿势(收藏版)

    主要介绍了Java 字符串拼接竟然有这么多姿势,很值得大家收藏,需要的朋友可以参考下

    JAVA字符串拼接常见方法汇总

    主要介绍了JAVA字符串拼接常见方法,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下

    java字符串拼接与性能分析详解

    在JAVA中拼接两个字符串的最简便的方式就是使用...如果你用”+”来连接固定长度的字符串,可能性能上会稍受影响,但是如果你是在循环中来”+”多个串的话,性能将指数倍的下降,下面我们分析一下JAVA字符串拼接的性能

    JAVA的字符串拼接[参照].pdf

    JAVA的字符串拼接[参照].pdf

    Java字符串拼接新方法 StringJoiner用法详解

    在本篇文章中小编给大家分享的是一篇关于Java字符串拼接新方法 StringJoiner用法详解,需要的读者们可以参考下。

    java关于字符串拼接的笔试题-practice:实践

    数组和字符串 * 滑动窗口问题 * ID:通常需要在较长的字符串中找到最短或最长的某个部分 * 有时从前面和后面开始(陷阱水),其他时候从前面和一英寸开始* 运行最大问题和线性 dp * ID:通常需要从整数数组中找到某...

    95.java拼接字符串案例.zip

    95.java拼接字符串案例.zip95.java拼接字符串案例.zip95.java拼接字符串案例.zip95.java拼接字符串案例.zip95.java拼接字符串案例.zip95.java拼接字符串案例.zip95.java拼接字符串案例.zip95.java拼接字符串案例.zip...

    SQL2JAVA-java字段串代码拼接小工具

    一款方便将java与sql语句互相转换的小工具,在日常工作开发中,非常实用,f方便写字符串拼接的语句,常用选项是String和StringBuffer

    字符串拼接+java+实现示例+源代码

    字符串拼接 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字符串按不同开发语言格式化,让你不需要为不同开发语言的SQL连接烦恼,欢迎来下载使用,用了很久都是一直很好用

    java中拼接字符串的5种方法效率对比

    主要给大家介绍了关于java中拼接字符串的5种方法效率对比的相关资料,文中通过示例代码和图片介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。

    java关于字符串拼接的笔试题-splice:复制数据的共享基底

    关于java习惯的笔试题拼接 像大象一样,Splice 有很多东西,这取决于您的上下文和联系点: 一个无主的分布式数据库 一个 Observed-Remove 多图 CRDT,它通过数据日志呈现/实现查询功能,通过...支持存储 一种将操作...

    java关于字符串拼接的笔试题-frontend-interview:努力学习前端(WIP)

    String(1)创建一个字符串对象。 typeof new String(1) === 'object' String(1)创建一个原始字符串变量。 typeof String(1) === 'string' 。 但是我们仍然可以在这个变量上调用 String 对象方法,因为浏览器会自动...

    Java 字符串的拼接详解

    本文主要介绍Java 字符串的拼接知识内容,这里整理了相关资料,及简单的示例代码,有兴趣的小伙伴可以参考下

    java关于字符串拼接的笔试题-foil:一个小的编译和静态类型的Lisp

    关于java习惯的笔试题挫败 一个小的编译和静态类型的 Lisp。 建造 依赖于 C++14 编译器,Java 和 Leiningen 在路径上。 make check 语言属性 按重要性的粗略排序: 分层设计。 小核。 (方案,沉,C) 渐进区域 -> ...

    Java中字符串拼接的一些细节分析

    主要介绍了Java中字符串拼接的一些细节分析,本文着重剖析了字符串拼接的一些性能问题、技巧等内容,需要的朋友可以参考下

Global site tag (gtag.js) - Google Analytics