String(不变性、字符串驻留)
String的不变性是为了需要而设计的,LZ把因果颠倒了。通常一个类是由其状态和方法组成,任何一个类只要不设计那些可以改变其状态的方法,都可以认为是不可变的。保持对象状态的正确性很重要,当对象的状态有可能出错的时候,及时的抛出异常或者终止程序通常是比让程序以错误的状态继续执行来说更好的选择。一个对象不可变,就不用考虑多线程之类的问题。因为其状态不会被多线程的环境所影响。