我正在寻找解决Java中数组问题的“正确”方法:我需要一个整数数组,而不知道最大值。
当前绕过声明限制的解决方案:
private ArrayList<Integer> myArray = new ArrayList<>();
此解决方案的问题:
myArray.get(i);
想要返回一个字符串而不是一个 int,我需要这个 int 来进行进一步的计算......我应该使用 ArrayList 以外的东西还是我错过了其他东西?(我猜是最后一个选项......)
是的,由于您不知道您希望数组容纳多少项目,因此您确实应该使用ArrayList
. 此外myArray.get(i)
确实会返回一个int
,只需尝试
ArrayList<Integer> list = new ArrayList<Integer>();
list.add(3);
int a = myArray.get(0); // autoboxing
System.out.println(a);
ArrayList 是正确的。它不会返回字符串,而是返回整数。由于自动装箱,您可以自动从中获取一个 int 值。
int x = myArray.get(i);
返回一个 Integer 对象,包含的 int 将传递给您的变量。
首先,这在java6中是错误的
private ArrayList<Integer> myArray = new ArrayList<>();
应该
private ArrayList<Integer> myArray = new ArrayList<Integer>();
无论如何你都会得到一个编译器错误,所以我认为它是一个错字。如果你这样做,你的代码肯定会返回 Integer
myArray.get(i);