Java初學者在這裏。我在我的書中,我們談論ArrayLists
和我的書的部分只是給了我一個ArrayList
的酷例如用Strings
瞭解ArrayLists中的自動裝箱(Big Java Section 7.3)
現在讓我吃驚的是居然說
由於號碼不Java中的對象,你不能直接將它們插入到數組列表中。例如,你不能形成一個
ArrayList<double>.
相反,我們需要使用所有八種基元類型的包裝類。這是我的書給出了一些我覺得很奇怪的小例子,讓我們看看下面的例子。
這是將我們的d
放入對象中的自動裝箱。我想我們可以把它看作Double d = new Double(29.95);
Double d = 29.95
我們可以拆箱它做double x = d;
, 所以現在x
只是一個值,對不對?
現在我的困惑依賴的繼承人。 我注意到,我們可以做一些算術表達式我們Double
對象 說d = d+1
我的書上說
這裏d是自動拆箱成一個雙
我們把它加1
然後將結果自動裝箱成新的雙
在d
我的問題
存儲到新創建的包裝對象的引用最後一部分是我無法理解的東西。這是什麼意思?我記得在第四章中我們知道,當我們設置兩個彼此相等的對象時,當我們改變一個時,另一個也會改變(我相信這叫做by reference
)
另一方面,爲什麼要做算術反正這樣呢?如果我們必須解除框然後,這看起來超級超級低效率。我會說首先使用一個正常的數組
我明白了。當我們說Double d = 29.95時,d是一個對象嗎?沒有價值?相反,雙D = 29.95這是一個值? –
嗯,它是一個持有雙重價值的對象 –
這有什麼真正的好處嗎?我的意思是,當我們將數據設置爲數字時,我們通常希望以某種方式操縱它們。如果我們使它成爲一個具有雙重值的對象,我們需要做這個轉換。 –