Java - 通过类中的方法更改数组的值

标签 java arrays nullpointerexception

这是我的代码:

class Myclass {

    private static int[] array;

    public static void main(String[] args) {
        Myclass m = new Myclass();

        for (int i = 0; i < 10; i++) {
            m.array[i] = i;
            System.out.println(m.array[i]);
        }
    }

    public Myclass() {
        int[] array = new int[10];
    }
}

尝试执行此操作时会抛出 java.lang.nullPointerException:

m.array[i] = i;

有人能帮帮我吗?

最佳答案

你声明了一个局部变量array在你的构造函数中,所以你实际上并没有初始化 arrayMyclass 中声明.

您需要直接引用 array在构造函数中。而不是

int[] array = new int[10];

使用这个

array = new int[10];

此外,您还声明了 array static 在你的范围内 Myclass类。

private static int[] array;

您只有一个 Myclass 实例在这里,所以没关系,但通常这不会是静态的,如果你在构造函数中初始化它。你应该删除 static :

private int[] array;

关于Java - 通过类中的方法更改数组的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17098052/

相关文章:

c - 有没有更有效的方法将 n 叉树存储在 C 文件中?

c++ - 编译器生成的默认构造函数会将 std::array 中的指针初始化为 nullptr 吗?

java - 如何保存和加载 HashMap<String,Object>?

java - DriverManager.deregisterDriver(driver) 是否关闭所有连接?

java - 字符串作为整型变量名

C# 计算每个给定范围的函数最小值

java - 空指针无处不在,因为数据突然变得稀疏

java - Java的NPE注解场景和静态分析工具

android - TabLayout设置ViewPager时出现空指针异常

java - 插入时如何批量插入取决于准备批量的数据