`
Ben.Sin
  • 浏览: 234176 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

使用StringBuffer和StringBuilder代替String的+运算

    博客分类:
  • Java
 
阅读更多

使用StringBuffer和StringBuilder代替String的+运算

 

 

以下例子可以说明代替的理由

		long curTime = System.currentTimeMillis();
		String abc = "";
		for (int i = 0; i < 10000; i ++){
			abc += i + ",";
		}
		System.out.println("Normal : " + (System.currentTimeMillis() - curTime));
		
		curTime = System.currentTimeMillis();
		StringBuffer buffer = new StringBuffer();
		for (int i = 0; i < 10000; i ++){
			buffer.append(i).append(",");
		}
		abc = buffer.toString();
		System.out.println("StringBuffer : " + (System.currentTimeMillis() - curTime));
		
		curTime = System.currentTimeMillis();
		StringBuilder builder = new StringBuilder();
		for (int i = 0; i < 10000; i ++){
			builder.append(i).append(",");
		}
		abc = builder.toString();
		System.out.println("StringBuilder : " + (System.currentTimeMillis() - curTime));

 

----输出

Normal : 610
StringBuffer : 0
StringBuilder : 0

 

经过多次运算StringBuilder和StringBuffer都在15以下

分享到:
评论

相关推荐

    区分java中String+String和String+char

    这是因为每次`+`运算都会创建新的`String`对象,而`StringBuilder`则可以在原有对象基础上进行追加,避免了不必要的内存分配和垃圾回收。 总结来说,`String+String`操作在编译器层面会被优化,而`String+char`虽然...

    Java String 和StringBuffer的详解及区别

    Java String 和StringBuffer 的详解及区别 Java String 和StringBuffer 是 Java 语言中两个基本的字符串类,它们都是用于存储和操作字符串的,但是它们之间有着很大的区别。 String 类 String 类表示内容不可改变...

    对String的深入理解

    Java为了优化内存使用和提高性能,将所有的字符串文字(字符串常量)存储在字符串文字池中。在编译期间,所有的字符串文字会被放入这个池中。如果多个地方使用相同的字符串文字,它们在池中只会占用一个位置,避免...

    珍藏资料Java面试题大全(Java基础).doc

    Java 提供了 String、StringBuffer 和 StringBuilder 三种字符串类型。String 是不可变类,StringBuffer 和 StringBuilder 是可变类。 七、Java 中的goto goto 是 Java 中的保留字,暂时还不是 Java 的关键字。

    javacore测试题及参考答案

    3. **String、StringBuffer 和 StringBuilder** - String 对象是不可变的,每次修改都会创建新的对象;StringBuffer 和 StringBuilder 提供了可变字符串,适合在多线程或频繁修改字符串时使用。StringBuilder 是非...

    String.zip

    在Java编程语言中,`String`类是使用最频繁的类之一,主要用来表示和操作字符串。`String`对象是不可变的,这意味着一旦创建,它们的值就不能更改。本篇文章将深入探讨`String`的一般用法和处理,包括其通用方法、...

    2022最新java面试题大全

    2. String 和 StringBuffer、StringBuilder 的区别:String 定义的字符串不可改变,StringBuffer 和 StringBuilder 可以在原对象基础上进行操作,改变对象内容,StringBuffer 是线程安全的,StringBuilder 是线程不...

    GitHub 上标星 115k+ 的 Java 教程.pdf

    String、StringBuffer 和 StringBuilder 都用于处理字符串,其中 String 适合不可变的字符串,而 StringBuffer 和 StringBuilder 在多线程和频繁修改字符串时更有效率,因为它们是线程安全和非线程安全的,分别适用...

    JAVA学习笔记整理(全)

    - StringBuffer 和 StringBuilder 在字符串可变场景中使用,StringBuilder 更高效但非线程安全,StringBuffer 在多线程环境下推荐使用。 2. static:关键字用于声明静态成员,静态成员属于类而不属于类的实例,...

    java中基本类型及string类型

    - **字符串连接**:使用`+`运算符或`StringBuilder`/`StringBuffer`类。 - **字符串比较**:使用`equals()`方法来比较字符串的内容是否相等,而不是使用`==`运算符,因为后者比较的是对象引用。 #### 总结 掌握...

    Java变量与数据类型、数据运算中易混知识点总结

    为了解决这个问题,可以使用StringBuilder或StringBuffer类来进行拼接。 关于“工具”标签,这里可能指的是Java开发工具,如Eclipse、IntelliJ IDEA等,它们提供了便捷的代码编辑、调试和版本控制功能,帮助开发者...

    编程语言java高级应用.pdf

    4. StringBuffer和StringBuilder:StringBuffer和StringBuilder是用于字符序列操作的两个类,它们提供了可变的字符序列。 - StringBuffer是线程安全的,因此在多线程环境下使用时性能较低,适合在多线程程序中使用...

    JAVA面试题解惑系列(六)——字符串(String)杂谈[收集].pdf

    要正确拼接字符并输出字符串,应该使用`String`类提供的`concat()`方法或使用`StringBuilder`或`StringBuffer`类进行字符串的构建。例如: ```java String s = a + "" + b + "" + c + "" + d + "" + e + "" + f; ...

    字符串学习.docx

    在Java中,字符串主要由两种类来表示:`String` 和 `StringBuffer`(在多线程环境下通常使用`StringBuilder`)。本文将深入探讨Java字符串的语法和应用。 首先,`String` 类是不可变的,这意味着一旦创建了字符串...

    10. 数值运算,字符串处理,时间管理1.rar

    另外,StringBuilder或StringBuffer类在需要频繁修改字符串内容时更为高效。对于字符串格式化,可以使用Formatter类或者直接使用String类的方法,如format()。在处理字符串时,注意字符编码的问题,确保在不同平台和...

    ACM java编程感悟

    String类和StringBuffer(Java 5之后推荐使用StringBuilder)是处理字符串的两大工具。String是不可变的,适合不可变的字符串,而StringBuffer/StringBuilder则适用于频繁修改的字符串。了解它们的性能差异并在合适...

    浅谈Java StringBuilder为什么线程不安全

    首先,StringBuilder和StringBuffer都是通过一个char数组存储字符串的,不同的是String类里的char数组是final修饰的,是不可变的,而StringBuilder和StringBuffer的char数组是可变的。 在多线程环境下,使用...

    于笑扬java综合知识点总结-必背(吐血推荐).doc

    StringBuffer、StringBuilder和String都是Java中的字符串处理类,但它们有不同的特点: * String:不可变字符串,所有操作都会生成新的字符串 * StringBuffer:可变字符串,多线程安全,同步锁机制 * StringBuilder...

    java面试葵花宝典

    综上所述,“Java面试葵花宝典”涵盖了Java面试中的基础知识点,包括但不限于 `String` 类型的理解、`Integer` 类的使用、各种Wrapper类的功能及其方法,以及 `StringBuilder` 和 `StringBuffer` 的区别和使用场景。...

Global site tag (gtag.js) - Google Analytics