Android中的String、StringBuilder、StringBuffer、CharSequence
Author: GcsSloopCreated Feb 9, 2016Updated Mar 7, 2020
好吧,这是一个基础题。
这些与文本有关的几个名词都是我们在开发过程中常见的内容,对其多多少少都有些了解。不过嘛,很少人能真正明白其中几个东西的关系就是了。
关系
首先,CharSequence是一个接口,用于表示有序的字符集合,并提供了一些基本的操作方法。
String StringBuffer StringBuilder都实现了CharSequence这个接口。
关系图如下:

区别
我们了解了他们的关系之后,我们再了解一下他们的区别:
| 名称 | 说明 |
|---|---|
| CharSequence | 接口,表示有序的字符集合 |
| String | 常量,不可变 |
| StringBuffer | 可变长度字符序列,线程安全 |
| StringBuilder | 可变长度字符序列,非线程安全 |
Source: GcsSloop/AndroidNote