簡體   English   中英

你如何在Java中表示空的東西?

[英]How do you represent something as empty in Java?

我正在寫的Java程序與含有數組的對象和索引firstlast ,以表示在值的定義在陣列中的位置。 因此,例如,如果長度為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[]

但你確定你需要關注“未定義”的價值嗎? 在我看來,您的數據結構將負責知道firstlast一個以下的任何索引都包含一個未定義的值。 也就是說,在不知道存儲在這些索引處的實際值的情況下。 存儲在那里的實際值可能是任何東西,無所謂。 這是我從你揭示的關於這項運動的小事上得到的印象,我可能是錯的。

如果你的數組是基本類型double [],那么它不能為null。 但是Double [](大寫)是原語的對象包裝器,它允許空值。

如果必須將值存儲在double[]則表示未知值的方法並不容易。 理論上,任何雙精度值都可以是有效值。

你有兩個選擇。

第一種是指定一個特定的雙值來表示“未知”。 例如,您可以使用Double.NaN來表示未知值。

第二個選項是在單獨的結構中存儲未知的值。 您可以使用boolean[]Map<Integer,Boolean>甚至List<Integer (用於保存所有未知索引)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM