在Java中初始化一对数组

时间:2017-09-01 11:39:11

标签: java arrays

我想初始化一对数组,但我的方式并不完全正确。 这是我第一次写它:

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];

但它没有用。

2 个答案:

答案 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,但不会被推荐。