1. 程式人生 > >String類的概念和不變性

String類的概念和不變性

String類的概念和不變性
        * a:String類
            * API中的String類的描述,發現String 類代表字串
            * Java 程式中的所有字串字面值(如 "abc" )都作為此類的例項實現。
            * 字串是常量,在建立之後不能更改
            * 其實就是說一旦這個字串確定了,那麼就會在記憶體區域中就生成了這個字串。字串本身不能改變,但str變數中記錄的地址值是可以改變的。
            * 原始碼分析,String類底層採用的是字元陣列:
                private final char value[]
                private 修飾說明value只能在String類內部使用,而且又沒有提供get方法,所以外部無法獲取value陣列,就無法改變陣列中元素的值
                final修飾說明value是常量,一旦建立,就不能被改變,value一旦被初始化成某個陣列,將永遠指向這個陣列,不可能再指向其它的陣列了
                
        * b: 案例程式碼

  /*
             *   String類特點:
             *     一切都是物件,字串事物 "" 也是物件
             *     類是描述事物,String類,描述字串物件的類
             *     所有的 "" 都是String類的物件
             *     
             *     字串是一個常量,一旦建立,不能改變
             */
            public class StringDemo {
                public static void main(String[] args) {
                    //引用變數str執行記憶體變化
                    //定義好的字串物件,不變
                    String str = "itcast";
                    System.out.println(str);
                    str = "itheima";
                    System.out.println(str);
                    
                    
                }
            }