0

我正在寻找解决Java中数组问题的“正确”方法:我需要一个整数数组,而不知道最大值。

当前绕过声明限制的解决方案:

private ArrayList<Integer> myArray = new ArrayList<>();

此解决方案的问题:

myArray.get(i);

想要返回一个字符串而不是一个 int,我需要这个 int 来进行进一步的计算......我应该使用 ArrayList 以外的东西还是我错过了其他东西?(我猜是最后一个选项......)

4

3 回答 3

1

是的,由于您不知道您希望数组容纳多少项目,因此您确实应该使用ArrayList. 此外myArray.get(i)确实会返回一个int,只需尝试

ArrayList<Integer> list = new ArrayList<Integer>();
list.add(3);
int a =  myArray.get(0);  // autoboxing
System.out.println(a);
于 2012-09-23T17:55:41.320 回答
0

ArrayList 是正确的。它不会返回字符串,而是返回整数。由于自动装箱,您可以自动从中获取一个 int 值。

 int x = myArray.get(i);

返回一个 Integer 对象,包含的 int 将传递给您的变量。

于 2012-09-23T17:55:30.963 回答
0

首先,这在java6中是错误的

private ArrayList<Integer> myArray = new ArrayList<>();

应该

private ArrayList<Integer> myArray = new ArrayList<Integer>();

无论如何你都会得到一个编译器错误,所以我认为它是一个错字。如果你这样做,你的代码肯定会返回 Integer

myArray.get(i);
于 2012-09-23T17:56:24.277 回答