首頁 > 軟體

Java學習之如何理解String類及易錯點解析。

2019-12-10 03:36:22

Java作為現在應用非常廣泛的程式設計語言,相信每天都有很多人在學習這門程式設計語言。作為一門相對容易入門的程式設計語言,初學者可能會遇到很多疑惑。筆者就自己的學習體會,把學習過程遇到一些感悟與大家分享,希望能給初學者一些幫助。首先,從字串類,即String類開始,介紹其作用和使用上的一些限制。

1

如何建立String類物件呢?

String類的建立有兩種方法:1、直接為String類賦值;2、使用String類的構造方法建立String類物件。



2

上面兩種方式的使用效果類似,那麼他們有什麼區別呢?這對於理解String類與應用非常重要。下面就來看看區別在哪?為了便於理解,先看下面一列。


3

從程式結果中可以發現,雖然程式中String的內容一樣,但是比較的結果卻是有的相等,有的不相等,為什麼呢?下面通過一圖來說明。從圖中可以看到,由於String類是參照資料型別,堆記憶體中存具體內容,棧記憶體中存參照的地址。兩種宣告方式建立了兩個不同的物件,因此,str1不等於str2;str1不等於str3;而str2等於str3。


4

需要指出的是,要比較字串裡的內容,可呼叫equals方法。如圖中例子所示。


5

從上面兩種建立方法中,有一個容易忽視的地方就是一個字串其實就是一個String類的匿名物件。為理解這一點,請看下面一列。為什麼會出現範例後三個變數都相等呢?


6

其實只要記住一個字串就是一個匿名物件就可以解釋上面的而結果了。也就是「百度」這個匿名物件把「使用權」給了str1、str2、str3,即把地址給他們了。因此,他們是相等的。為便於理解以圖示意。


7

小結一下,為了能較快的理解String類避免出錯,要記住String類是一個參照資料型別,變數名中存放的是參照內容的存放地址。還有一點,就是一個字串如「百度」,是一個匿名String類物件,直接賦值範例化只是把地址給了變數,即賦的是地址值!

IT145.com E-mail:sddin#qq.com