String类源码:
由源代码可见,String类是final修饰的,即不可变类。一旦一个String对象被创建以后,包含在这个对象中的字符序列是不可改变的,直至这个对象销毁。
因为String不可变的性质,因此Java内部实现了常量池。当一个String被创建时,会先去常量池查看有没有值相同的示例,有的话直接返回。
节省了内存,加快了字符串的加载速度。不可变的对象也可以保证在并发中保持线程安全
String类提供了大量构造器来创建String对象:
String类也提供了大量的方法对字符串对象进行操作: