为什么Java里String类是不可变类型(final)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u014491519/article/details/81321929
public final class String
    implements java.io.Serializable, Comparable<String>, CharSequence {
    /** The value is used for character storage. */
    private final char value[];

1.String Pool的要求
String Pool(String intern pool)是包含在方法区内,如果一个String对象被创建过了,那么就会从String Pool中引用,此时如果是可变类型的,那么引用变得不安全。
2. 只用计算一次hash值
3. String 常用做参数,还可以用于保证参数不变。
4. 线程安全

Why String is immutable in Java?

猜你喜欢

转载自blog.csdn.net/u014491519/article/details/81321929