mat*_*att 0 java arrays processing arraylist multidimensional-array
我正在尝试在Processing中使用ArrayList()方法.
我有这个:
ArrayList trackPoints = new ArrayList();
//inside a loop
int[] singlePoint = new int[3];
singlePoint[0] = 5239;
singlePoint[1] = 42314;
singlePoint[2] = 1343;
//inside a loop
trackPoints.add(singlePoint);
Run Code Online (Sandbox Code Playgroud)
所以基本上我想在我的ArrayList中添加一个带有三个值的数组"singlePoint".
这似乎工作正常,因为现在我可以使用println(trackPoints.get(5));,我得到这个:
[0] = 5239;
[1] = 42314;
[2] = 1343;
Run Code Online (Sandbox Code Playgroud)
但是,如何获得此数组的单个值?
println(trackPoints.get(5)[0]); 不起作用.
我收到以下错误:"表达式的类型必须是数组类型,但它解析为对象"
知道我做错了什么吗?如何从这个包含多个数组的arrayList中获取单个值?
谢谢您的帮助!
你ArrayList应该输入:
List<int[]> list = new ArrayList<int[]>();
Run Code Online (Sandbox Code Playgroud)
如果不是,那么您使用的是原始列表,它可以包含任何内容.它的get方法因此返回Object(这是所有Java对象的根类),并且必须使用强制转换:
int[] point = (int[]) trackPoints.get(5);
println(point[0]);
Run Code Online (Sandbox Code Playgroud)
您应该阅读有关泛型的内容,并阅读ArrayList的api文档.