`
xiaoyaoniu
  • 浏览: 189385 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

几种拼接字符串的效率问题 .

 
阅读更多
public class test { 
 
/** 
* @param args 
*/ 
public static void main(String[] args) { 
// TODO Auto-generated method stub 
		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...");  
} 
 
} 

 

 

贴出一组检测数据如下:

 

用String+=拼接字符串的时间27468
用String=String+拼接字符串的时间25813
用String.concat拼接字符串的时间12265
用StringBuffer.append拼接字符串的时间14
用StringBuilder.append拼接字符串的时间8

 

分享到:
评论

相关推荐

    ibatis拼接字符串

    尽管手动拼接 SQL 字符串是一种简单有效的方法,但在实际项目中还应注意以下几点: 1. **安全性**:使用预编译语句(PreparedStatement)来避免 SQL 注入等问题。 2. **性能优化**:对于频繁执行的 SQL 语句,可以...

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

    本文主要探讨了在Java中几种不同的字符串拼接方法的性能差异,包括使用操作符`+`、`String.concat()`、`StringBuffer.append()`和`StringBuilder.append()`。以下是对这些方法的详细分析: 1. **字符串拼接操作符 ...

    Java字符串使用总结.docx

    ### Java字符串使用总结 #### 一、String 类 在Java中,`String`类并不是基本数据类型,而是一个对象。...了解这些内容有助于开发者根据不同的应用场景选择合适的字符串处理方式,提高程序的效率和稳定性。

    smarty模板中拼接字符串的方法

    在Smarty模板中拼接字符串主要有几种方法: 1. 使用内置过滤器“cat”进行字符串拼接: 在Smarty中,可以使用“cat”过滤器来连接字符串和变量。cat是concatenate(连接、拼接)的缩写,其作用类似于PHP中的点...

    关于js中连接字符串效率的测试例子!

    本篇内容将深入探讨JavaScript中字符串连接的几种常见方式,并通过测试例子分析它们的效率。 首先,我们要了解JavaScript中字符串连接的基本方法: 1. 使用加号`+`:这是最直观的字符串连接方式,例如`str1 + str2...

    关于php几种字符串连接的效率比较(详解)

    本篇文章将深入探讨三种不同的PHP字符串连接方法,并分析它们的效率。 1. **直接使用`.`操作符进行连接** 第一种方法是使用`.`操作符来连接字符串。这种方法直观且易于理解,但在大量字符串连接时,效率较低。如上...

    浅谈jquery拼接字符串效率比较高的方法

    4. 注意事项:虽然使用数组和join方法来拼接字符串可以提高性能,但在实际应用中还需要考虑其他因素。比如数组的初始大小、循环次数、字符串长度等。因为尽管减少了操作次数,创建和操作数组也会消耗一定的资源。...

    数据结构-字符串.pptx

    字符串是计算机科学中的一种基本数据结构,用于存储和操作文本信息。在编程语言中,字符串通常是由一个或多个字符组成的序列。字符串的处理涉及到多种算法和技术,这些在解决实际问题时至关重要,特别是在文本处理、...

    华为-华为od题库练习题之字符串反转.zip

    - **拼接操作**:在某些语言中,如JavaScript,可以通过字符串的`+`操作符或`concat()`方法不断拼接字符来达到反转效果,但这种方法效率较低,因为每次拼接都会创建新的字符串对象。 - **字符数组**:将字符串转换...

    字符串操作封装函数

    常见的字符串操作可能包括但不限于以下几种: 1. **字符串拼接**:将多个字符串合并为一个,这通常通过`+`运算符或者`join()`方法来实现。 2. **字符串分割**:使用`split()`函数将字符串按照指定分隔符进行切割,...

    链接任意多个字符串

    2. **使用`+`运算符(C++/C#等)**:在一些支持面向对象特性的语言如C++和C#中,可以使用`+`运算符直接拼接字符串,编译器会自动处理内存和拷贝操作。 3. **使用`StringBuilder`类(Java/C#)**:在Java和C#中,...

    java字符串 详解 java实例20

    2. 拼接效率:频繁使用`+`拼接字符串可能导致性能问题,此时可使用`StringBuilder`或`StringBuffer`(线程安全)来提高效率。 3. 字符串不可变性:Java中的字符串是不可变的,这意味着一旦创建,就不能改变其内容。...

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

    1. `StringBuffer` 和 `StringBuilder`: 这两者都是用来处理可变字符串的类,它们提供了`append`方法用于拼接字符串。`StringBuilder`是非线程安全的,而`StringBuffer`是线程安全的,因此在多线程环境下推荐使用`...

    Python 中字符串拼接的多种方法

    python拼接字符串一般有以下几种方法: ①直接通过(+)操作符拼接 s = 'Hello'+' '+'World'+'!' print(s) 输出结果: Hello World! 使用这种方式进行字符串连接的操作效率低下,因为python中使用 + 拼接两个字符...

    广工数据结构课程设计字符串操作

    5. **字符串的模式匹配**:正则表达式(Regular Expressions)是一种强大的工具,可以用于复杂字符串的匹配、查找、替换等操作。Python中的`re`模块提供了相关的功能。 6. **字符串的排序与比较**:在处理大量字符...

    易语言十六进制与字符串转换

    在易语言中,处理十六进制和字符串的转换主要有以下几种方法: 1. **字符串转十六进制**:在易语言中,可以通过“字符串到整数”函数配合“进制转换”参数将字符串转换为十进制,再用“十进制到十六进制”函数将十...

    smarty基础之拼接字符串的详解

    本文将深入探讨如何在Smarty中有效地拼接字符串。 首先,Smarty提供了两种主要的方式来完成字符串拼接:`{assign}`标签和过滤器(filter)功能。 1. `{assign}`标签: 在Smarty的早期版本中,`{assign}`标签是拼接...

    精彩编程与编程技巧-VB中对字符串的处理及其扩展...

    本文将详细介绍VB中的几种常见字符串操作方法,并探讨如何通过自定义函数来扩展这些功能。 #### 二、基本字符串操作 1. **Left()、Right()和Mid()函数** - **Left()**:返回字符串左侧指定长度的子串。 - **...

    字符串管理

    本篇我们将深入探讨字符串管理的相关知识点,结合给定的“字符串管理”主题,我们主要讨论以下几个方面: 1. **字符串的基本操作**: - **创建字符串**:在不同编程语言中,如Python、Java或C++,创建字符串的方式...

    JavaScript组合拼接字符串的效率对比测试

    尤其是在字符串长度达到几十K甚至几百K时,频繁使用“+=”进行拼接会极大地影响脚本执行效率,导致CPU使用率飙升。通过实例可以观察到,简单的循环拼接操作,耗时可以长达1.1秒,而且这还是在字符串长度仅为200K时的...

Global site tag (gtag.js) - Google Analytics