我已经在代码的开头声明了一个ArrayList:
ArrayList<int[][]> arraylists = new ArrayList<>();
由于Netbeans没有给我一个错误,我假设语法明智,这是一个有效的声明。
我添加了一个像这样的2D数组元素:
int[][] newarray = {{0},{0}};
arraylists.add(newarray);
我这样调用了ArrayList:
int[][] array = arraylists.get(0);
由于我已经向ArrayList添加了一些内容,因此我不会获得索引超出范围的异常。
但是,它没有将2D数组放在索引0处。要调试我试过这样做:
System.out.println("testing");
int[][] array = arraylists.get(0);
输出为:testing
然而,当我尝试这样做时:
int[][] array = arraylists.get(0);
System.out.println("testing");
输出无效
我认为这意味着在ArrayList中获取2D数组存在问题,因为不会弹出其他错误。我认为在从ArrayList获取2D数组后,没有其他任何东西可以提供。程序停在那里。我刚刚开始我的代码所以这就是我到目前为止所做的一切,并且我计划在解决此问题后继续执行代码。请注意,Netbeans没有提醒我说有什么问题。它只是没有工作......
任何人都可以帮我辨别出什么问题吗?
答案 0 :(得分:1)
可能只是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));
}