`
mamaoyuan625
  • 浏览: 176948 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

java.lang.StringBuffer和StringBuilder的用法小结:

阅读更多
public class Test {


	public static void bufferReplace(StringBuffer text) {
		text = text.append("C");
		System.out.println("还是原来的内存区域:" + text);
	}

	public static void main(String args[]) {
		
	
	 
		 StringBuffer textBuffer = new StringBuffer("java");
		
		 bufferReplace(textBuffer);
	
		 /**
		 * 结果:javac
		 * 说明:StringBuffer是可变的,所以,当追加字符串时,还是在原来的对象上增加,故在打印时,就变成了javac了,
		 */
		 StringBuffer textBuffer2 = new StringBuffer("java");
		

		StringBuffer a = new StringBuffer("a");
		StringBuffer b = new StringBuffer("a");

System.out.println("a.equals(b): " + a.equals(b));  //false
System.out.println(a == b); //false
	
	}

 

重点: 关于这两个false,按照常理,比如说String的话,答案肯定是true 和 false  ,为什么StrngBuffer和StringBuilder都是false呢,查了一下JDK文档,原来这两个自身都没有equals()方法,是从Object中继承来的,所以StringBuffer和StringBuilder如果要比较值的话,只能这样

System.out.println(a.toString().equals(b.toString()));

 

结果:true

 

 

分享到:
评论

相关推荐

    String StringBuffer和StringBuilder区别之源码解析

    在Java中,字符串是我们经常使用的数据类型,而String、StringBuffer和StringBuilder是Java中三种常用的字符串类。在这篇文章中,我们将从源码角度对String、StringBuffer和StringBuilder进行深入分析,了解它们之间...

    java.lang包

    Java语言的核心库之一就是`java...通过理解并熟练使用`java.lang`包中的类和接口,开发者能够更好地进行异常处理、数据类型转换、字符串操作、数学计算以及对类和对象的基本操作,从而编写出更加健壮和高效的Java程序。

    java.lang包.ppt

    了解 java.lang 包 掌握包装类 掌握String 和 StringBuffer 类 运用以下类的方法: Math Class Object

    java基础--4.常用类-3.StringBuffer、StringBuilder

    在Java编程语言中,`StringBuffer`和`StringBuilder`是两个非常重要的类,它们主要用于处理字符串的拼接和修改操作。这两个类位于`java.lang`包下,因此在使用时无需显式导入。本篇文章将深入探讨这两个类的特性和...

    String ,StringBuffer与StringBuilder

    在 Java 中,String, StringBuffer 和 StringBuilder 三个类都是用于字符操作的,但它们之间有着很大的区别。 首先,String 是不可变类,意味着一旦创建了 String 对象,就不能修改它的值。每次对 String 对象的...

    String、StringBuffer、StringBuilder的使用方法

    在Java编程语言中,`String`、`StringBuffer`和`StringBuilder`是处理字符串的三个重要类,它们各自有特定的使用场景和优缺点。理解它们的差异对于编写高效的代码至关重要。 **String类** `String`是不可变的类,...

    java.lang.OutOfMemoryErrorJavaheapspace.pdf

    6. **使用StringBuffer或StringBuilder代替+操作**:在进行大量字符串连接时,使用这两个类可以避免创建大量中间对象。 了解`java.lang.OutOfMemoryError: Java heap space`错误的原因和解决方案,有助于我们在编写...

    Java类库复习——java.lang.String

    `String`类与`StringBuilder`和`StringBuffer`的区别在于,后两者是可变的,适合在循环中进行字符串拼接,因为每次调用`+`运算符或`concat()`方法时,`String`都会创建新的对象,这在大量操作时可能会导致性能下降。...

    面试题java StringBuffer和StringBuilder类常见操作和用法

    总的来说,理解和熟练使用StringBuffer和StringBuilder类对于编写高效的Java代码至关重要,特别是在处理大量字符串操作或构建动态字符串时。根据实际需求选择合适的类,可以有效地优化程序性能。

    org.apache.commons.lang jar下载

    11. **构建者模式**: Commons Lang 提供了多种Builder类,如 `StringBuilder` 和 `StringBuffer` 的变体,允许更灵活地构建复杂字符串。 12. **枚举枚举**: `EnumSet` 和 `EnumMap` 类提供了针对枚举类型的集合实现...

    java.lang研究

    在Java 2中,一些新类和方法被添加到`java.lang`包,如`ThreadLocal`、`RuntimePermission`等,以增强安全性、多线程支持和性能优化。 值得注意的是,虽然`java.lang`包中的许多类在早期版本的Java中就已经存在,但...

    Java StringBuffer & StringBuilder.pdf

    与 `StringBuffer` 类似,`StringBuilder` 的用法也包括 `append()`、`insert()`、`deleteCharAt()` 和 `reverse()` 方法。 **四、为什么StringBuffer和StringBuilder更适合在循环中使用?** 因为 `String` 对象是...

    String及StringBuffer和StringBuilder的区别

    String、StringBuffer 和 StringBuilder 是 Java 语言中三种不同类型的字符串处理方式,它们之间存在着明显的性能和线程安全性差异。 String String 类型是不可变的对象,每次对 String 对象进行改变时都会生成一...

    java CharSequence、String、StringBuffer、StringBuilder详解

    总的来说,理解`CharSequence`、`String`、`StringBuffer`和`StringBuilder`的特性和用法是每个Java开发者必备的知识。根据具体需求选择合适的类,可以显著提升代码的效率和可维护性。在实际编程中,不仅要关注功能...

    String、StringBuffer与StringBuilder之间区别

     StringBuffer:字符创变量  StringBuilder:字符创变量  从上面的名字可以看到,String是“字符创常量”,也就是不可改变的对象。对于这句话的理解你可能会产生这样一个疑问 ,比如这段代码:

    StringBuffer 和 StringBuilder 类

    在Java编程中,当我们需要对字符串进行多次修改时,StringBuffer和StringBuilder类成为首选。这两个类提供了一种高效且灵活的方式来处理字符串,与不可变的String类相比,它们能避免创建大量未使用的对象,从而提高...

    Java中String,StringBuffer与StringBuilder的区别

    最后,让我们总结一下 Java 中 String, StringBuffer 与 StringBuilder 三种字符串类型的区别和用法。String 类型是不可变的对象,性能不好,适合不需要修改的字符串对象。StringBuffer 类型是可变的对象,性能好,...

    《剑指offer》Java-String、StringBuffer 和 StringBuilder 的区别.pdf

    当我们尝试对String对象进行操作,如使用`+`进行拼接时,Java编译器实际上会自动转换为使用StringBuilder或StringBuffer的append方法。例如,以下代码: ```java String s1 = "aaa"; String s2 = "bbb" + "ccc"; ...

Global site tag (gtag.js) - Google Analytics