我在代码开头声明了一个 ArrayList:
ArrayList<int[][]> arraylists = new ArrayList<>();
由于 Netbeans 没有给我错误,我假设从语法角度来看,这是一个有效的声明。
我添加了一个像这样的二维数组元素:
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);
输出是这样的:测试
但是,当我尝试这样做时:
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));
}
关于java - Java中二维数组类型的ArrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35027259/