我在这方面已经有一段时间了。 我有一个空指针异常,所以我猜有些东西没有被初始化。
AdminMessages.inbox1.setText(messageRsetArray[0]);
这是我的目标代码。但是我找不到里面的东西。它没有 初始化。
AdminMessages
是一个包含名为 inbox1
的 JTextField
的类,messageRsetArray
是一个包含变量的数组来自数组。
inbox1
也是静态的。我无法让 getter 和 setter 工作。我知道这是不好的做法。
Exception in thread "main" java.lang.NullPointerException
at project.AdminMessages.fillInboxGui(AdminMessages.java:587)
at project.AdminMessages.<init>(AdminMessages.java:156)
at project.AdminUser.createAdminMessages(AdminUser.java:31)
at project.AdminUser.<init>(AdminUser.java:17)
at project.AdminUser.main(AdminUser.java:45)
最佳答案
inbox1
和/或 messageRsetArray
为 null
。您必须使用以下方法实例化它们:
inbox1 = new JTextField();
和
messageRsetArray = new String[size];
在这种情况下,只需检查哪些变量在该位置可能为 null
。如果您不能确定,则拆分表达式,使每行只有一个“NPE-thrower”:
String text = messageRsetArray[0];
AdminMessages.inbox1.setText(text);
您将在下一个堆栈跟踪中得到明确的答案。
关于java - 您如何找到空指针异常的确切变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2713491/