我想初始化一对数组,但我的方式并不完全正确。 这是我第一次写它:
Pair<String, Integer>[] pair = new Pair[5];
它已被接受且有效,但仍有以下警告:
&#34;未选中的作业:
'android.util.Pair[]'
至'android.util.Pair<Java.lang.String, Java.lang.Integer>[]'
...
我已经尝试过这样做:
Pair<String, Integer>[] pair = new Pair<String, Integer>[5];
但它没有用。
答案 0 :(得分:3)
这是因为仿制药的性质。
我的建议是放弃直接使用数组的想法,而是使用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 might resize dynamically
或更短:
List<Pair<String, Integer>> list = new ArrayList<>();
然后,您可以使用list.get(index)
检索其元素,而将list[index]
与数组一起使用。
答案 1 :(得分:0)
您无法创建一个通用类型的数组,在本例中为Pair。这就是你的第一个解决方案有效的原因,因为你没有指定Pair的具体类型。
从技术上讲,你可以创建一个数组Generic arrays in Java,但不会被推荐。