[英]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.