处理语言:从ArrayList()获取内部数组值

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中获取单个值?

谢谢您的帮助!

JB *_*zet 6

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文档.