Java String之String和CharSequence、StringBuilder和StringBuffer的区别(1) Java String之String和CharSequence、StringBuilder和StringBuffer的区别(1)

 
分类: Java Java基本功知识
 
 

本章主要介绍String和CharSequence的区别,以及它们的API详细使用方法。

String 简介

String 是java中的字符串,它继承于CharSequence。
String类所包含的API接口非常多。为了便于今后的使用,我对String的API进行了分类,并都给出的演示程序。

String 和 CharSequence 关系
String 继承于CharSequence,也就是说String也是CharSequence类型。
CharSequence是一个接口,它只包括length(), charAt(int index), subSequence(int start, int end)这几个API接口。除了String实现了CharSequence之外,StringBuffer和StringBuilder也实现了CharSequence接口。
需要说明的是,CharSequence就是字符序列,String, StringBuilder和StringBuffer本质上都是通过字符数组实现的!

StringBuilder 和 StringBuffer 的区别

StringBuilder 和 StringBuffer都是可变的字符序列。它们都继承于AbstractStringBuilder,实现了CharSequence接口。
但是,StringBuilder是非线程安全的,而StringBuffer是线程安全的。

它们之间的关系图如下: 

Java String之String和CharSequence、StringBuilder和StringBuffer的区别(1)
Java String之String和CharSequence、StringBuilder和StringBuffer的区别(1)