`

JAVA字符串拼接效率

    博客分类:
  • Java
阅读更多
比较string、stringbuffer、stringbuilder拼接效率

public class MainTest {
	public static void main(String[] args) {
		long n = 30000;  
        System.out.println("Start... "+n);    
          
        long start1 = System.currentTimeMillis();     
        String s1 = new String("hello");     
        for (long i = 0; i < n; i++)     
        {     
            s1+="拼接字符串的时间";     
        }     
        long end1 = System.currentTimeMillis();     
        long time1 = end1 -start1;     
        System.out.println("用String+=拼接字符串的时间"+time1);     
             
        long start2 = System.currentTimeMillis();     
        String s2 = new String("hello");     
        for (long i = 0; i < n; i++)     
        {     
            s2=s2+"拼接字符串的时间";     
        }     
        long end2 = System.currentTimeMillis();     
        long time2 = end2 -start2;     
        System.out.println("用String=String+拼接字符串的时间"+time2);   
          
        long start3 = System.currentTimeMillis();     
        String s3 = new String("hello");     
        for (long i = 0; i < n; i++)     
        {     
            s3=s3.concat("拼接字符串的时间");     
        }     
        long end3 = System.currentTimeMillis();     
        long time3 = end3 -start3;     
        System.out.println("用String.concat拼接字符串的时间"+time3);   
          
        long start4 = System.currentTimeMillis();     
        StringBuffer s4 = new StringBuffer("hello");     
        for (long i = 0; i < n; i++)     
        {     
            s4.append("拼接字符串的时间");     
        }     
        long end4 = System.currentTimeMillis();     
        long time4 = end4 -start4;     
        System.out.println("用StringBuffer.append拼接字符串的时间"+time4);     
             
        long start5 = System.currentTimeMillis();     
        StringBuilder s5 = new StringBuilder("hello");     
        for (long i = 0; i < n; i++)     
        {     
            s5.append("拼接字符串的时间");     
        }     
        long end5 = System.currentTimeMillis();     
        long time5 = end5 -start5;     
        System.out.println("用StringBuilder.append拼接字符串的时间"+time5);     
          
        System.out.println("End..."); 
}
}


输出结果:
Start... 30000
用String+=拼接字符串的时间32800
用String=String+拼接字符串的时间30609
用String.concat拼接字符串的时间14144
用StringBuffer.append拼接字符串的时间2
用StringBuilder.append拼接字符串的时间2
End...
分享到:
评论

相关推荐

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

    Java字符串拼接效率测试过程解析 Java字符串拼接效率测试过程解析是Java开发中非常重要的一个话题。字符串拼接是Java开发中最常见的操作之一,但是不同的拼接方式对性能的影响是巨大的。本文主要介绍了Java字符串...

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

    今天,我们将通过测试和分析,比较 Java 中 5 种不同的字符串拼接方法的效率,并探究每种方法背后的实现原理。 第一种方法:使用 + 运算符 在 Java 中,我们可以使用 + 运算符来拼接字符串。这是最简单的方法,但其...

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

    然而,如果涉及到大量字符串拼接,特别是在循环中,应优先考虑使用`StringBuffer`或`StringBuilder`,以提高程序的运行效率。在多线程环境中,选择`StringBuffer`;而在单线程环境中,`StringBuilder`通常是更好的...

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

    在Java中,有多种方式可以实现字符串拼接,比如使用`+`操作符,但当拼接的字符串数量较多时,这种方式的效率较低。因此,更推荐使用`StringBuffer`或`StringBuilder`类,它们提供了一种可扩展且高效的字符串操作方法...

    JAVA 字符串 操作

    在Java编程语言中,字符串...以上只是Java字符串操作的一小部分,实际开发中还有许多其他方法和特性,如国际化(I18N)、正则表达式等,都需要程序员灵活掌握。理解并熟练运用这些操作,能有效提高代码质量和效率。

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

    JAVA字符串拼接常见方法汇总 Java字符串拼接是Java编程中一个非常常见的操作,但是实现字符串拼接的方法却有多种。下面我们将详细介绍Java字符串拼接常见方法,并分析每种方法的优缺点。 一、使用“+”号连接字符...

    StringBuilder字符串拼接工具

    总的来说,`StringBuilder`是Java中处理字符串拼接的关键工具,尤其在需要高效构建长字符串的场景下。它提供了灵活的方法来添加内容,且避免了不必要的内存开销。通过使用`StringBuilder`,开发者可以编写出更高效、...

    Java 字符串常用方法

    4. **字符串拼接** - `+` 运算符: 可用于连接字符串,例如 `str1 + " " + str2`。 - `concat(String str)`: 直接连接两个字符串。 5. **查找与替换** - `indexOf(String str)`: 查找子字符串第一次出现的位置,...

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

    在Java编程中,字符串拼接是一个常见的操作,但其内部机制和性能影响不容忽视。本文将深入探讨Java中字符串拼接的细节,包括不可变性、运算符重载、性能代价以及编译器的优化处理。 首先,Java中的String对象是不可...

    java字符串 详解 java实例20

    Java字符串在编程中扮演着至关重要的角色,它们是程序中数据处理的核心部分,尤其是在文本处理、用户输入验证、数据解析等场景下。本实例“Java字符串详解 Java实例20”将深入探讨Java中的字符串处理机制,包括其...

    浅谈Java字符串Java开发Java经验技巧共11页.p

    标题中的“浅谈Java字符串Java开发Java经验技巧共11页”表明这是一份关于Java编程,特别是关于Java字符串处理的深度技术文档。在Java中,字符串是编程中经常遇到的基本数据类型,对于任何Java开发者来说,理解和掌握...

    Java字符串格式化

    总结来说,Java字符串格式化是构建和展示文本信息的关键技术,包括使用`String.format()`和`printf()`方法,以及`StringBuilder`和`StringBuffer`类。同时,理解并处理GBK这样的特定字符编码对于处理中文字符至关...

    java 创建字符串缓存类

    它们提供了在不创建新对象的情况下进行字符串拼接的方法,如`append()`。与直接使用`+`运算符相比,这些类能显著减少对象创建的开销。 下面是一个简单的字符串缓存类实现示例,我们将称之为`StringCache`: ```...

    for循环中如何正确使用字符串拼接

    那么通过如下代码,看一下在for循环中,不同的字符串拼接方式,到底哪种效率最高?  package com.test.stringjoin; import org.apache.commons.lang3.StringUtils; public class Test { public static void main...

    JAVA 数组与字符串课程文档

    在处理字符串时,可以使用`StringBuffer`或`StringBuilder`类进行高效的字符串拼接操作,尤其在循环中,这两个类比直接使用`+`操作符更有效率。 数组和字符串在实际编程中常常结合使用,比如在一个字符串数组中存储...

    java实现字符串逆序输出

    在Java编程语言中,字符串的逆序输出是一个基础但重要的概念,它经常在各种问题解决中出现,例如数据处理、字符串操作等。本资源聚焦于如何利用Java编写一个程序,该程序接受用户输入的字符串,并返回这个字符串的...

    将SQL字符串按不同开发语言格式化

    总结来说,"SQL字符串按不同开发语言格式化"是一项重要的开发辅助功能,通过"SQL Pretty Printer"这样的工具,我们可以轻松地将SQL语句调整为与当前开发环境相符的格式,从而提高开发效率,减少错误,增强代码的...

    JAVA字符串中所用的方法.rar

    以上是Java字符串处理中常用的一些方法,熟练掌握它们将极大地提升代码的效率和质量。通过深入理解和应用这些方法,开发者可以更好地处理和操纵字符串,满足各种编程需求。在实际开发中,我们应根据具体场景选择合适...

    Java练习字符串课题的源码

    2. **字符串拼接**:可以使用`+`运算符或者`StringBuilder`/`StringBuffer`类来连接两个或多个字符串。前者适合少量操作,后者在多线程环境中更安全且效率更高。 3. **字符串方法**:`String`类提供了丰富的内置...

    Java源码海量字符串的快速操作.rar

    对于大量字符串拼接,使用`StringBuilder`或`StringBuffer`比多次使用`+`运算符更高效。两者的区别在于线程安全性:`StringBuilder`是非线程安全的,而`StringBuffer`是线程安全的,但在线程不安全的场景中,`...

Global site tag (gtag.js) - Google Analytics