我想初始化一个成对数组,但我的方式并不完全正确。这是我第一次写它的方式:
Pair<String, Integer>[] pair = new Pair[5];
Run Code Online (Sandbox Code Playgroud)
它被接受并且可以工作,但仍然存在以下警告:
“未经检查的分配:
'android.util.Pair[]'到'android.util.Pair<Java.lang.String, Java.lang.Integer>[]'...
我已经尝试过这样做:
Pair<String, Integer>[] pair = new Pair<String, Integer>[5];
Run Code Online (Sandbox Code Playgroud)
但它不起作用。
这是因为泛型的性质。
我的建议是放弃直接使用数组的想法,而改用 a List<Pair<String, Integer>>。在幕后,它无论如何都使用数组,但 aList更灵活。
List<Pair<String, Integer>> list = new ArrayList<Pair<String, Integer>>();
// You don't have to know its size on creation, it may resize dynamically
Run Code Online (Sandbox Code Playgroud)
或更短:
List<Pair<String, Integer>> list = new ArrayList<>();
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用检索其元素,list.get(index)而您将使用list[index]数组。