[英]How do you represent something as empty in Java?
我正在寫的Java程序與含有數組的對象和索引first
和last
,以表示在值的定義在陣列中的位置。 因此,例如,如果長度為8的雙數組應該是空白的,除了第3,第4和第5坐標,如[_, _, _, -1.0, 4.2, -5.9, _, _]
那么first
會存儲3和last
將存儲6(比定義值的最后一個位置多一個)。 但是,我不知道如何在Java數組中包含空值。 它將所有內容初始化為0.0,並且我無法為任何坐標指定空值。
我需要使用數組來執行此任務,並且所有0.0的數組都應該被視為已滿,因此我不能只選擇將其解釋為空。
謝謝你的幫助。
您可以使用null
來表示引用類型的“未定義”。 double
不能為null
(基本類型,不是引用類型),但Double
可以。 所以你可以使用Double[]
而不是double[]
。
但你確定你需要關注“未定義”的價值嗎? 在我看來,您的數據結構將負責知道first
和last
一個以下的任何索引都包含一個未定義的值。 也就是說,在不知道存儲在這些索引處的實際值的情況下。 存儲在那里的實際值可能是任何東西,無所謂。 這是我從你揭示的關於這項運動的小事上得到的印象,我可能是錯的。
如果你的數組是基本類型double [],那么它不能為null。 但是Double [](大寫)是原語的對象包裝器,它允許空值。
如果必須將值存儲在double[]
則表示未知值的方法並不容易。 理論上,任何雙精度值都可以是有效值。
你有兩個選擇。
第一種是指定一個特定的雙值來表示“未知”。 例如,您可以使用Double.NaN
來表示未知值。
第二個選項是在單獨的結構中存儲未知的值。 您可以使用boolean[]
或Map<Integer,Boolean>
甚至List<Integer
(用於保存所有未知索引)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.