1 不可变的原因
String的主要成员变量char value[]是private final类型的
String被声明为final class的
2 不可变的好处
可以缓存hash值 String的hash值经常被使用,例如用作hashmap的key,不可变的特性可以爱群主让hash值不可变,因此只需要进行一次计算。
String Pool的需要
如果一个String对象已经被创建过了,那么就会从String Pool中�取得引用,只有String是不可变的,才可能使用String Pool。
安全性
String经常作为参数,可以保证参数不可变。在网络连接参数的情况下如果String是可变的,那么不太去友好
线程安全
String 不可变性天生具有线程安全,可以在多个线程安全使用。
网友评论