java - java Arraylist 中的空指针

标签 java arraylist nullpointerexception

我尝试创建二维 ArrayList 我在第 7 行得到 NullPointerException

ArrayList<Integer>[] g = new ArrayList[500];
    for(int i = 1;i < HEIGHT - 1; i++){
        for(int j = 1;j < WIDTH - 1; j++){
            if(MAP[i][j] == 0){
                int cur = i * HEIGHT + j;
                if(MAP[i+1][j] == 0){
                    g[cur].add(cur + HEIGHT);
                }
                if(MAP[i-1][j] == 0){
                    g[cur].add(cur - HEIGHT);
                }
                if(MAP[i][j+1] == 0){
                    g[cur].add(cur + 1);
                }
                if(MAP[i][j-1] == 0){
                    g[cur].add(cur - 1);
                }
            }
        }
    }

最佳答案

如果您使用调试器,您应该能够看到这不会创建一个ArrayList,而只是创建一个对它们的引用数组,这些引用全部为null

你的意图是

List<Integer>[] g = new ArrayList[500];
for (int i = 0; i < g.length; i++)
    g[i] = new ArrayList<>();

关于java - java Arraylist 中的空指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38292044/

相关文章:

java - 随机填充二维数组

java - 使用 Java 和 Kafka 的 Apache Spark Streaming

Java Camel 大小写撇号问题

java - 添加到数组列表

Java - 初始化数组后以及使用类方法测试数组时出现 NullPointerException

java - Spring 扫描器 bean

java - Drools:访问 ArrayList 作为 Map 中的值

android - 无法应用 Arraylist

android - 如何在 Android 中解析来自 Parse.com 的数组

android - 相机无法在 HTC 设备上打开