`
明子健
  • 浏览: 576850 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

String与StringBuffer的区别(相同点)

    博客分类:
  • Java
阅读更多

String 与 StringBuffer 区别

String:         String 是不可变对象,在进行 String 的相关操作的时候会产生许多临时的String对象。一般做为简单的字符串传递和其它操作,只不要改变字符串内容的操作,用 String 效率会高一些
StringBuffer :                         StringBuffer适合用于经常改变的变量,对内存的消耗小,支持修改字符串(缓存)的值           

相同点:都可以储存和操作字符串

 

比喻(不喜勿喷):

数钱

StringBuffer:数第1张时,脑子里计数:1

数第2张时,脑子里计数:2 (脑子里再没 1 了)

数第3张时,脑子里计数:3 (脑子里再没 2 了)

.

.

.

数到第n张时,脑子里最后只有结果: n

 

String数第1张时,本子里计数:1

数第2张时,本子里计数:2 (本子里还有 1 )

数第3张时,本子里计数:3 (本子里还有 2)

.

.

.

数到第n张时,本子里有一大堆数包括结果: n

 

当然如果有一串不会改变的电话号码,相信你会选择把它记着本子里。

 

 

分享到:
评论

相关推荐

    java面试笔试题String 和StringBuffer的区别

    在Java编程语言中,`String`与`StringBuffer`是两个重要的字符串处理类,它们各自具有独特的特性和用途,尤其在面试或笔试中常被提及作为考察应聘者对Java基础知识掌握程度的重要知识点。 ### `String`类:不可变性...

    第5讲 String、StringBuffer、StringBuilder有什么区别1

    `StringBuilder`是`StringBuffer`的非同步版本,它在功能上与`StringBuffer`基本相同,但在多线程不安全的场景下,`StringBuilder`的性能更优,因为它去除了线程安全的限制,避免了不必要的同步开销。因此,`...

    浅析我对 String、StringBuilder、StringBuffer 的理解

    - 相同点:StringBuilder和StringBuffer都继承自AbstractStringBuilder,它们的底层实现都是通过一个字符数组来存储字符串。这使得它们可以动态地增长或缩小容量,以适应字符串的变化。 - 不同点:StringBuffer...

    10个Java经典的String面试题

    6. String、StringBuffer、StringBuilder 有什么区别? 答案:String、StringBuffer、StringBuilder 最大的不同是 String 不可变,后者可变。StringBuffer 是线程安全的,StringBuilder 线程不安全但是速度较快。...

    正确使用String类的几点注意

    ### 正确使用String类的几点注意 在Java编程中,`java.lang.String`类是极为常见的基础数据类型之一,其重要性和应用范围不言而喻。为了更好地理解和使用String类,本文将从几个关键方面入手,探讨如何更加高效、...

    java基础知识面试题

    本文将围绕 Java 基础知识面试题展开,涵盖 String、StringBuffer、StringBuilder 的区别、==和 equals 的区别、String 常量池等知识点。 一、String、StringBuffer、StringBuilder 的区别 String、StringBuffer、...

    练习JAVA语句中的String

    6. **String与StringBuilder/StringBuffer**: - 当需要频繁修改字符串时,应使用`StringBuilder`或线程安全的`StringBuffer`,它们提供了可变的字符串操作。 7. **String的哈希码和equals()**: - `hashCode()`...

    javastring.pdf

    - `contentEquals(StringBuffer sb)`:比较此字符串是否与指定的`StringBuffer`具有相同的字符序列。 - `copyValueOf(char[] data)`:从字符数组创建一个字符串。 - `copyValueOf(char[] data, int offset, int ...

    有关String的测试程序包含string内部一些函数

    以下是一些关于`String`类的关键知识点: 1. **不可变性**:`String`对象在创建后就不能更改。这意味着一旦创建了`String`实例,它的值就固定了。如果尝试修改字符串,实际上会创建一个新的`String`对象。例如,`...

    Java 之 String 类型

    本文将深入探讨Java中的String类,包括其特性、构造方法、常用方法以及与其他数据类型的转换。 1. **字符串的创建与不可变性** - String对象在Java中是通过引用常量池中的常量来创建的,一旦创建就不能改变。例如...

    java String 数据结构

    下面将详细探讨`String`类的数据结构、常用方法以及适用于初学者的一些关键知识点。 首先,`String`对象存储在常量池中,这是一个内存区域,用于保存所有的字符串字面量。这种设计是为了优化性能,因为相同的字符串...

    StringTable.pdf

    **StringTable的特性与作用** 1. **字符串唯一性**:根据Java语言规范,相同的字符串字面量应共享同一实例,以节省内存。StringTable确保了这一点,它是一个哈希表,存放的是字符串引用而非字符串本身。 2. **内存...

    Android String

    下面将详细探讨`Android String`的相关知识点。 ### 1. `String`对象的创建与使用 在Android中,`String`对象可以使用多种方式创建,例如: ```java // 直接初始化 String str = "Hello, Android"; // 通过...

    String练习

    - 使用`new`关键字创建的字符串会在堆内存中分配空间,而直接赋值(如`String str = "abc"`)则会查找常量池,如果池中已存在相同的字符串,则直接引用。 2. **字符串连接**: - 使用`+`运算符可以连接两个或多个...

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

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

    java笔记字符串的应用

    Java 字符串应用笔记涵盖了 equals 和 == 的区别、字符串相关函数的使用、String 和 StringBuffer 的使用、StringBuffer 的 capacity 属性和命令行参数的使用等知识点。这些知识点是 Java 开发的基础,理解这些知识...

    我们一起学Java之String

    这一特性对于Java内存管理有着重要影响,因为String对象会存储在方法区的字符串常量池中,以避免重复创建相同的字符串,从而提高内存使用效率。 在JDK 8版本中,字符串常量池的位置发生了变化,从方法区移至Java堆...

Global site tag (gtag.js) - Google Analytics