1. 程式人生 > >String類是不可被繼承不可變的

String類是不可被繼承不可變的

String是不可以被繼承,並且是不可變的。
public final class String
    implements java.io.Serializable, Comparable<String>, CharSequence {
    /** The value is used for character storage. */
    private final char value[];

  上面是String類的宣告,String類是用final修飾的,表示這個類是不可以被繼承的。

  String類是不可變類,其物件一旦建立,就不可以銷燬。String類那些看似修改字元序列的方法實際上都是返回新建立的String物件,而不是修改物件自身。

  String類是基於char[]陣列實現的,因為char[]陣列也是用final修飾的,表示一旦賦值是不可以修改的。String類最大長度也就是字元陣列的最大長度,理論上最大長度是int型別的最大值,即2147483647。實際上,一般可獲取的值小於理論最大值。