`

StringBuffer and StringBuilder

    博客分类:
  • Java
阅读更多

String is immutable whereas StringBuffer and StringBuilder can change their values.
   

The only difference between StringBuffer and StringBuilder is that StringBuilder is unsynchronized whereas StringBuffer is synchronized. So when the application needs to be run only in a single thread then it is better to use StringBuilder. StringBuilder is more efficient than StringBuffer.

Criteria to choose among String, StringBuffer and StringBuilder
  1. If your text is not going to change use a string Class because a String object is immutable.
  2. If your text can change and will only be accessed from a single thread, use a StringBuilder because StringBuilder is unsynchronized.
  3. If your text can changes, and will be accessed from multiple threads, use a StringBuffer because StringBuffer is synchronous.


[i'mju:təbəl]adj. 不可变的, 不变的
分享到:
评论

相关推荐

    Java String、StringBuffer、StringBuilder(基于源码探索)

    `String`、`StringBuffer`和`StringBuilder`都是用于构建和操作字符串的类,但它们之间存在重要的差异。这些差异主要体现在对象的不可变性、线程安全性和性能方面。 首先,`String`类是最基础的字符串类,它的特点...

    java笔试题

    3. **String与StringBuffer的区别**:String对象一旦创建就不能更改,而StringBuffer或StringBuilder对象则可以在原有基础上追加或修改内容。在处理大量字符串拼接时,使用StringBuffer或StringBuilder更为高效。 4...

    整理的Java-EE面试总结.pdf

    在字符串操作方面,String、StringBuffer和StringBuilder的区别是面试时经常被问到的问题。String是不可变的字符串,每次修改都会生成新的字符串对象。StringBuffer和StringBuilder则是可以修改内容的字符串缓冲区。...

    java offer收割指南

    String 是不可变的,Stringbuffer 和 StringBuilder 是可变的。Stringbuffer 是线程安全的,而 StringBuilder 不是。 4. ArrayList 和 LinkedList 有什么区别。 ArrayList 是基于数组实现的,LinkedList 是基于...

    2024高级中级-java面试题.docx

    String 是不可变的字符串对象,StringBuffer 和 StringBuilder 是可变的字符串对象。StringBuffer 是线程安全的,而 StringBuilder 不是。 7. Java 异常处理 Java 异常处理机制包括 try-catch-finally 结构。try ...

    北科Java新面试宝典.pdf

    2. String、StringBuffer、StringBuilder的区别:String是不可变对象,StringBuffer和StringBuilder是可变对象,StringBuffer是线程安全的,而StringBuilder不是。 3. int和Integer的区别:int是基本数据类型,...

    于笑扬java综合知识点总结-必背.pdf

    StringBuffer、StringBuilder 和 String 都是 Java 中的字符串类,但是它们有所不同。String 是不可变的,意味着一旦创建就不能修改。StringBuffer 和 StringBuilder 是可变的,意味着可以修改。StringBuffer 是线程...

    java总结,问题,知识点

    - StringBuffer和StringBuilder都是可变的,它们在字符串操作中提供了更高的性能,尤其是多线程环境下推荐使用StringBuffer,因为它线程安全;单线程环境中StringBuilder效率更高。 5. Hashtable与HashMap的区别:...

    Java面经-百度banbne-副本.pdf

    String是不可变的,而StringBuffer和StringBuilder是可变的。StringBuffer是线程安全的,而StringBuilder是线程不安全的。 7. **Java中的静态和final关键字**: static表示静态,可以用来修饰类的属性和方法,...

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

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

    java综合知识点总结-必背1

    4. **StringBuffer/StringBuilder与String的区别**:String是不可变的,每次修改都会创建新对象,而StringBuilder/StringBuffer是可变的,修改时不会创建新对象,适合大量字符串操作,尤其在多线程环境下使用...

    java面试第一部分:基础知识

    `StringBuffer`和`StringBuilder`可变,它们在内存中直接修改,`StringBuffer`在多线程环境下是线程安全的,`StringBuilder`则不是,但在单线程环境中性能优于`StringBuffer`。 7. **字符串反转**:可以使用`...

    Money And Date toChinese Java

    - 使用StringBuilder或StringBuffer进行字符串拼接,避免大量的字符串连接操作导致的内存开销。 8. **错误处理**: - 需要对输入数据进行有效性检查,如检查金额是否为合法的数字,日期是否符合格式等,并在出现...

    玉宝必背锦集之---葵花宝典.pdf

    String类是不可变的,因此对于频繁变更的字符串操作,推荐使用StringBuffer或StringBuilder。 3. int是Java的原始数据类型,而Integer是int的封装类。原始类型存储的是具体的数值,而封装类是对象,可以赋予null值...

    Java面试宝典Beta5.0.pdf

    String、StringBuilder和StringBuffer是用于字符串操作的类,其中String是不可变的,而StringBuilder和StringBuffer是可变的,StringBuffer比StringBuilder更慢但线程安全。 18. Java的数据类型:Java的基本数据...

    2012年java面试题总结

    #### String、StringBuffer、StringBuilder的区别 - **String**:不可变字符串,适合频繁读取但不修改的场景。每次修改都会创建一个新的对象,影响性能。 - **StringBuffer**:线程安全的可变字符串,适用于多线程...

    java综合知识

    4. **StringBuffer/StringBuilder与String的区别**:两者都是可变字符序列,但StringBuilder在单线程环境下效率更高,因为它不保证线程安全,而StringBuffer在多线程环境下更合适,因为它提供了同步方法。...

    SQL转拼接代码

    在Java中,我们可以使用StringBuilder或StringBuffer类进行字符串拼接。例如,如果你有一个SQL插入语句,你可能会这样做: ```java StringBuilder sql = new StringBuilder(); sql.append("INSERT INTO table_name ...

Global site tag (gtag.js) - Google Analytics