java - 类数组中的 NullPointer

标签 java arrays nullpointerexception

我有两个 java 类。 Schedule 是使用名为 deadline 的作业数组的主要类。我在将任何东西放入数组时遇到问题。我有一个 for 循环,它从文本文件中读取数据(它工作正常)并将某些数据插入到 deadline 中。我没有成功创建 deadline,因为每当我想开始插入数组时,我都会得到一个 NullPointerException。 (...下面的代码显然不是我实际编码的,但还是一样的情况。)

自从我用 Java 编写代码以来已经有一段时间了,所以我可能只是忽略了一些简单的东西,但我不确定它可能是什么......感谢您提供的任何帮助。

public class Schedule {

    private Job []deadline;
    Schedule (int n){
        Job[] deadline = new Job[n];
    }

    ...
        int n = 7;
        Schedule schedule = new Schedule(n);

        deadline[0] = new Job("A",3,40); // This line won't compile. NullPointerException
}


public class Job {

    private String name;
    private int deadline;
    private int profit;

    Job(String n, int d, int p){
        name = n;
        deadline = d;
        profit = p;
    }

}

最佳答案

您在构造函数中隐藏了deadline,因此您没有初始化类成员deadline,而是初始化了本地成员。将其更改为:

    private Job []deadline;
    Schedule (int n){
        deadline = new Job[n];
    // ^^ note - no Job[] here
    }

关于java - 类数组中的 NullPointer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10457322/

相关文章:

javascript - 点击抓取数据 ID 并使用 jQuery 推送到数组

arrays - 查找 Excel 数组公式的范围

java - 当我尝试用 Java 将对象写入服务器时出现 NullPointerException

java - 不应该发生的 NullPointerException

java - 需要为字符串文字定义一个常量[SonarQube Smell]

java - 带递归的 LinkedList 的 LinkedList - 循环问题

php - 通过 PHP 从 mySQL 将列中的不同值获取到数组中的问题

java - 为什么我的三元运算符会出现 NullPointerException?

Java异步订单

java - Spring 3中静态内容的自动刷新