我正在寻找解决Java中数组问题的“正确”方法: 我需要一个整数数组,而不知道最大值。
目前绕过声明限制的解决方案:
private ArrayList<Integer> myArray = new ArrayList<>();
此解决方案的问题:
myArray.get(i);
想要返回一个String而不是一个int,我需要int进行进一步的计算...... 我应该使用除ArrayList以外的其他东西还是我错过了其他东西? (我猜测最后一个选项......)
答案 0 :(得分: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);
答案 1 :(得分:0)
ArrayList是正确的。它不会返回一个String,它会返回Integer。由于自动装箱,你可以自动从中获取一个int。
int x = myArray.get(i);
返回一个Integer对象,包含的int将传递给你的变量。
答案 2 :(得分:0)
首先,在 java6
中这是错误的private ArrayList<Integer> myArray = new ArrayList<>();
应该是
private ArrayList<Integer> myArray = new ArrayList<Integer>();
无论如何你都会遇到编译错误,所以我认为这是一个错字。 如果你这样做,你的代码肯定会返回Integer
myArray.get(i);