簡體   English   中英

在 Java 中初始化一對數組

[英]Initializing an array of pairs in Java

我想初始化一個成對數組,但我的方式並不完全正確。 這是我第一次寫它的方式:

Pair<String, Integer>[] pair = new Pair[5];

它被接受並且可以工作,但仍然存在以下警告:

“未經檢查的分配: 'android.util.Pair[]''android.util.Pair<Java.lang.String, Java.lang.Integer>[]' ...

我已經嘗試過這樣做:

Pair<String, Integer>[] pair = new Pair<String, Integer>[5];

但它不起作用。

這是因為泛型的性質。

我的建議是放棄直接使用數組的想法,而使用List<Pair<String, Integer>>代替。 在幕后,它無論如何都使用數組,但List更靈活。

List<Pair<String, Integer>> list = new ArrayList<Pair<String, Integer>>();
// You don't have to know its size on creation, it may resize dynamically

或更短:

List<Pair<String, Integer>> list = new ArrayList<>();

然后,您可以使用list.get(index)檢索其元素,而您可以將list[index]與數組一起使用。

您不能創建泛型類型的數組,在本例中為 Pair。 這就是您的第一個解決方案有效的原因,因為您沒有指定 Pair 的具體類型。

從技術上講,您可以在 Java 中創建一個數組, Generic arrays ,但不推薦這樣做。

暫無
暫無

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

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