String類的概念和不變性
阿新 • • 發佈:2018-11-08
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); } }