String类为什么是final的?

参考解答

String是immutable的,即string的实例是只读的(string中所有涉及改变内容的方法例如substring,replace,toLowerCase等均是返回一个新的string,而原string的内容不变),这样保证string能够在多线程下安全使用。

如果string类不是final的那么它的子类就有不小心可能打破immutable原则,这是类库设计中开闭原则中“close for modification”的典型体现。

immutable 的含义是不可变的 close for modification 即闭合以防止修改


results matching ""

    No results matching ""