gpt4 book ai didi

java - 类中的空指针异常(代码看起来不错)Java

转载 作者:行者123 更新时间:2023-12-04 05:22:55 25 4
gpt4 key购买 nike

NPE 根本不应该为 Null 的问题,请帮忙
嗨,伙计们,我有这段代码可以在表格中显示一个对象
方法 savet 将对象保存到该类中,以便可以引用它,并且它可以工作(经过尝试和测试),但是当我尝试调用方法 displayTeacher 时,我得到一个空指针异常。这是因为它没有识别t1,即使它在类中明确,甚至作为属性

public class Display
{
private JTable table;
private JFrame f;
private int i = 0;
public SubjectTeacher t1;

public void savet (SubjectTeacher teachIn)
{
SubjectTeacher tempt = new SubjectTeacher(teachIn.getName(), teachIn.getSurname(), teachIn.getID(), teachIn.getPay(), teachIn.getSubjectID());
t1 = tempt;
}

public void displayTeachers()
{
f = new JFrame("Teachers");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setSize(500,400);
f.setVisible(true);

String[] columnNames = {"Name", "Surname", "ID", "Pay", "Subject"};
Object[][] data = {
{
t1.getName(),
t1.getSurname(),
t1.getID(),
t1.getPay(),
t1.getSubjectID()
}
};
JTable table = new JTable (data, columnNames);
f.add(table);
}
}
非常感谢任何帮助,因为我必须很快完成一个学校项目,
谢谢,马特

最佳答案

this is because it is not recognizing t1, even though it is clearly in the class



它在类中,但它是否曾经初始化过?引用类型字段有一个 default valuenull ,所以如果你从不分配 t1在尝试调用非静态方法之前,你会得到一个 NullPointerException (因为 t1 将是 null )。在您的情况下,您分配的唯一位置 t1savet方法,所以如果你在调用 displayTeachers 之前不调用这个方法 t1仍将是 null .

关于java - 类中的空指针异常(代码看起来不错)Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13516607/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com