繁体   English   中英

Java中2D数组类型的ArrayList

[英]ArrayList of type 2D array in Java

我在代码的开头声明了一个ArrayList:

ArrayList<int[][]> arraylists = new ArrayList<>();

由于Netbeans没有给我一个错误,因此我假设该语法是明智的,这是一个有效的声明。

我添加了一个2D数组元素,如下所示:

int[][] newarray = {{0},{0}};
arraylists.add(newarray);

我这样调用ArrayList:

int[][] array = arraylists.get(0);

由于我已经向ArrayList添加了一些内容,因此不会出现索引超出范围的异常。

但是,它没有在索引0处获得2D数组。要调试,我尝试这样做:

System.out.println("testing");
int[][] array = arraylists.get(0);

输出是这样的: testing

但是,当我尝试这样做时:

int[][] array = arraylists.get(0);
System.out.println("testing");

输出什么都没有

我认为这意味着在ArrayList中获取2D数组存在问题,因为没有其他错误弹出。 我认为最好是从ArrayList获取2D数组后再进行其他操作。 因此程序在此停止。 我刚刚开始编写代码,所以这几乎是我到目前为止所拥有的一切,并且计划解决此问题后继续编写代码。 请注意,Netbeans并没有提醒我说有什么问题。 只是不起作用...

谁能帮助我找出问题所在?

可能只是Netbeans愚蠢。 尝试清理项目并重建。 这段代码可以正常工作:

public static void main(String[] args) {
    List<int[][]> list = new ArrayList<>();
    list.add(new int[][]{{1,2}, {3,4}});
    int[][] twoD = list.get(0);
    System.out.println(Arrays.deepToString(twoD));
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM