Java学习之String,StringBuffer,StringBuilder三者之间的共同点与区别及使用场景

Java学习之String,StringBuffer,StringBuilder三者之间的共同点与区别及使用场景

一、共同点

String,StringBuffer,StringBuilder都是用于表示字符序列的类 。

二、区别

1.String常量的;它们的值在创建后无法更改。字符串缓冲区支持可变字符串。因为字符串对象是不可变的,所以它们可以共享。

2.StringBuffer线程安全、可变的字符序列。字符串缓冲区类似于String,但可以修改。在任何时候,它都包含一些特定的字符序列,但序列的长度和内容可以通过某些方法调用进行更改。

3.StringBuilder可变字符序列。此类提供了一个与StringBuffer兼容的API,但不保证同步。此类旨在用于单个线程使用字符串缓冲区的地方(通常情况下)用作StringBuffer的下拉式替换。在可能的情况下,建议优先使用此类,而不是StringBuffer,因为在大多数实现下,它将更快

StringBuilder的实例对多个线程使用不安全

三、使用场景

效率高低:StringBuilder > StingBuffer > String

当多个线程使用字符串缓冲区时,使用StringBuffer保证正确的操作(考虑安全性问题)

如果是单线程的,建议使用StringBuiler效率更高一些。

上一篇:处理字符串的常用方法


下一篇:JAVA基础复习1