每当我用+运算符拼接字符串时, 总有人跟我提出你应该用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字符串拼接效率测试过程解析是Java开发中非常重要的一个话题。字符串拼接是Java开发中最常见的操作之一,但是不同的拼接方式对性能的影响是巨大的。本文主要介绍了Java字符串...
JAVA字符串拼接常见方法汇总 Java字符串拼接是Java编程中一个非常常见的操作,但是实现字符串拼接的方法却有多种。下面我们将详细介绍Java字符串拼接常见方法,并分析每种方法的优缺点。 一、使用“+”号连接字符...
Java字符串拼接是编程中常见的操作,特别是在处理大量数据或者构建复杂的输出时。然而,不同的字符串拼接方式在性能上存在显著差异。本篇文章将深入探讨Java中的字符串拼接技术,以及它们对程序效率的影响。 首先,...
Java字符串长度不够,将其前面补0或者后面补0,适用于字典序比较前,将要比较字符串的位数保持一致,再进行比较。
Java字符串拼接新方法StringJoiner用法详解 Java字符串拼接新方法StringJoiner用法详解是Java 8中新增加的一个字符串拼接方法,用于构造一个由分隔符分隔的字符序列(可选),并且可以从提供的前缀开始并以提供的...
在Java编程中,字符串拼接是一项常见的操作,特别是在构建动态字符串或者处理文本数据时。本文主要探讨了在Java中几种不同的字符串拼接方法的性能差异,包括使用操作符`+`、`String.concat()`、`StringBuffer.append...
标题中的“SQL2JAVA-java字段串代码拼接小工具”是指一个辅助开发的软件,它主要功能是帮助程序员便捷地在Java代码和SQL语句之间进行转换,特别是处理字符串拼接的问题。在软件开发过程中,尤其是在数据库交互时,...
下面我们将深入探讨Java字符串拼接的原理、性能影响以及编译器的优化策略。 首先,当我们用`+`运算符或`StringBuilder`/`StringBuffer`进行字符串拼接时,由于String的不可变性,每次拼接都会创建新的字符串对象。...
Java 字符串拼接的实现实例 Java 字符串拼接是 Java 编程语言中一个非常重要的概念,它是指将多个字符串合并成一个字符串的过程。在实际开发中,字符串拼接是最常见的编程任务。下面将详细介绍 Java 字符串拼接的...
数组和字符串 * 滑动窗口问题 * ID:通常需要在较长的字符串中找到最短或最长的某个部分 * 有时从前面和后面开始(陷阱水),其他时候从前面和一英寸开始* 运行最大问题和线性 dp * ID:通常需要从整数数组中找到某...
在Java编程语言中,字符串...以上只是Java字符串操作的一小部分,实际开发中还有许多其他方法和特性,如国际化(I18N)、正则表达式等,都需要程序员灵活掌握。理解并熟练运用这些操作,能有效提高代码质量和效率。
95.java拼接字符串案例.zip95.java拼接字符串案例.zip95.java拼接字符串案例.zip95.java拼接字符串案例.zip95.java拼接字符串案例.zip95.java拼接字符串案例.zip95.java拼接字符串案例.zip95.java拼接字符串案例.zip...
在 Java 中,字符串拼接是我们日常开发中经常遇到的一个问题。随着项目的发展和复杂度的增加,字符串拼接的效率变得越来越重要。今天,我们将通过测试和分析,比较 Java 中 5 种不同的字符串拼接方法的效率,并探究...
在本教程中,我们将聚焦于如何将Excel数据批量导入到PostgreSQL数据库,特别关注一种常见的方法——通过字符串拼接的方式。PostgreSQL是一个功能强大的开源关系型数据库管理系统,而Excel则是广泛使用的电子表格工具...
本文将深入探讨四个主要概念:分隔符、注释、标识符以及字符串拼接,同时也会提及空格的使用。 首先,让我们来了解分隔符。与许多其他编程语言(如JAVA和PHP)不同,Golang不需要在每一行末尾添加英文分号(;)。这...
在Java编程语言中,将字符串转换为16进制ASCII值是一个常见的操作,尤其是在处理数据编码、网络通信或存储时。这个过程涉及到字符到数字的转换,并且通常使用`Character`类和`Integer`类的方法来完成。让我们深入...
### Java中使用"+"进行字符串拼接的理解 在Java编程语言中,字符串操作是十分常见的需求之一,尤其是在构建动态内容或处理大量文本数据时。本文将深入探讨如何在Java中使用"+"运算符进行字符串拼接,并分析其性能...