我正在尝试访问ArrayList内的数组内的元素。例如,假设:
ArrayList list = new ArrayList();
int[] x = new int[2];
x[0] = 2;
x[1] = 3;
list.add(x);
因此,稍后再说我想打印x[1]
,我就尝试这样做:
System.out.println(list.get(0)[1]);
但这给了我:Solution.java:47:错误:类型不兼容:对象无法转换为int []
我试图将数组存储在另一个数组中并访问新数组,但这给出了相同的错误消息。
我对Java相对较新,并且从JavaScript迁移到了JavaScript,变量几乎不严格。我对收藏不是很熟悉,我在这里找到了这个答案:
但是如您所见,此解决方案不适用于我。如果有任何事情我被忽视或忽视-我将不胜感激任何建议。谢谢。
EDIT :这个问题不是天气问题,还是我应该使用原始数据类型-尽管我会确保将来再进行检查-正在使用原始数据类型,问题是如何访问它们。
答案 0 :(得分:2)
您需要声明ArrayList
的类型,在这种情况下为int[]
。如果您不执行此操作,则此ArrayList
将假定它容纳Object
,因此会出现错误。看起来像这样:
ArrayList<int[]> list = new ArrayList<int[]>();
答案 1 :(得分:1)
ArrayList的get()方法仅需要索引。因此,只需使用:
System.out.println(list.get(0));
System.out.println(list.get(1));
等希望这可以帮助。
/**
* Returns the element at the specified position in this list.
*
* @param index index of the element to return
* @return the element at the specified position in this list
* @throws IndexOutOfBoundsException {@inheritDoc}
*/
public E get(int index) {
rangeCheck(index);
return elementData(index);
}