关于string的不可变特性

从一开始就说string是不可变对象,但是为什么会具有这种特性呢。真去探究一下后,发现比想象中的要直观简单多了。
直接看看源码

public final class String
    implements java.io.Serializable, Comparable, CharSequence {
    /** The value is used for character storage. */
    private final char value[];

    /** Cache the hash code for the string */
    private int hash; // Default to 0
    
    ......
    
    }

很显然,其实string对象就是由一个char数组构成的,最重要的是这个value是final的,这不就意味着一旦赋值后自然是无法更改的。

其实很多特性探究一下也没那么难的。

你可能感兴趣的:(java基础,java)