CharSequence
CharSequence是char值的可读序列。 该界面提供统一的,只读访问许多不同类型的char序列。
实现类
其中最重要的也是最常用的就是 String、StringBuilder和StringBuffer。这三字子类都是用来处理字符串的,但是他们之间还有有一定差别的。
String
从源码上来看是实现了 Serializable 序列化接口、Comparable 可比较接口和CharSequence 字符序列接口,String 底层是用的 final char 数组进行存储的,所以字符串一旦确定不可改变。
public final class String
implements java.io.Serializable, Comparable<String>, CharSequence {
private final char value[];
......
}
因为字符串比较常用,所以对其进行了优化,可以直接用 "..."来表示字符串。
在 JVM 堆中有一个字符串常量池,每创建一个字符串时都会判断字符串常量池中有没有这个字符串,如果有的话直接将地址指向字符串常量池中的地址,如果没有的话在字符串常量池中新增一个字符串ÿ