gpt4 book ai didi

java - 为什么我会收到 AWT Eventqueue 空指针异常?

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

            Employee emp = null;



int searchVal1 = (StringUtils.isNotBlank(tab2textField.getText())) ? Integer.parseInt(tab2textField.getText()) : 0;


String searchVal2 = tab2textField2.getText();
String searchVal3 = tab2textField3.getText();

ArrayList<Employee> arraylist = null;
ArrayList<Employee> finalarraylist = null;





//add to a new arraylist

try
{
FileInputStream fin = new FileInputStream("employeeal.ser");
ObjectInputStream in = new ObjectInputStream(fin);

arraylist = (ArrayList) in.readObject();

Iterator<Employee> it = arraylist.iterator();
while(it.hasNext())
{
emp = it.next();

System.out.println("First Name: " + emp.getFname());
System.out.println("Last Name: " + emp.getLname());
System.out.println("ID: " + emp.getId());

int intval = emp.getId();
String stringf = emp.getFname();
String stringl = emp.getLname();

//if(emp.getId() == searchVal1 || emp.getFname() == searchVal2 || emp.getLname() == searchVal3)
//if((emp.getId() == searchVal1) || (emp.getFname()) == "a") || (emp.getLname() == "a"))
if(emp.getId() == searchVal1 || (emp.getFname()).equals(searchVal2) || (emp.getLname()).equals(searchVal3))
{
//finalarraylist.add(emp);

//finalarraylist.add(new Employee(emp.getId(), emp.getFname(), emp.getLname()));

finalarraylist.add(new Employee(intval, stringf, stringl));

System.out.println("added");
}
else
{
System.out.println("NOT added!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
}

}

in.close();
fin.close();
}catch(IOException e)
{
e.printStackTrace();

}catch(ClassNotFoundException e2)
{
System.out.println("Class not found");
e2.printStackTrace();

}

所以我试图从另一个列表中创建一个列表,但是当我到达这一行时:

                    finalarraylist.add(new Employee(intval, stringf, stringl));

它崩溃并显示空指针,但数组列表没有固定存储,所以我真的不明白为什么会出现空指针异常。

First Name: rewer
Last Name: erw
ID: 2342
NOT added!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
First Name: hue
Last Name: huer
ID: 34343
NOT added!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
First Name: hueer
Last Name: huer
ID: 34343
NOT added!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
First Name: hueer
Last Name: huer
ID: 34343565
NOT added!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
First Name: a
Last Name: a
ID: 1

这是输出。它在打印“已添加”之前崩溃。

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at TextField.actionPerformed(Test.java:676)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2346)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6527)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
at java.awt.Component.processEvent(Component.java:6292)
at java.awt.Container.processEvent(Container.java:2234)
at java.awt.Component.dispatchEventImpl(Component.java:4883)
at java.awt.Container.dispatchEventImpl(Container.java:2292)
at java.awt.Component.dispatchEvent(Component.java:4705)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4898)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4533)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4462)
at java.awt.Container.dispatchEventImpl(Container.java:2278)
at java.awt.Window.dispatchEventImpl(Window.java:2739)
at java.awt.Component.dispatchEvent(Component.java:4705)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:746)
at java.awt.EventQueue.access$400(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:697)
at java.awt.EventQueue$3.run(EventQueue.java:691)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.awt.EventQueue$4.run(EventQueue.java:719)
at java.awt.EventQueue$4.run(EventQueue.java:717)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:716)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

最佳答案

快速浏览一下您的代码...

ArrayList<Employee> finalarraylist = null;
//...
// finalarraylist still null...
try
{
//...
// finalarraylist still null
while(it.hasNext())
{
//...
// finalarraylist still null
if(emp.getId() == searchVal1 || (emp.getFname()).equals(searchVal2) || (emp.getLname()).equals(searchVal3))
{
//...
// finalarraylist still null
finalarraylist.add(new Employee(intval, stringf, stringl));

在声明 finalarraylist 和尝试使用 if 之间,您实际上从未创建它的实例......

两分钟的调试就会让你遇到这个问题。这是发现 IDE(以及 Java)调试器强大功能的绝佳机会...

关于java - 为什么我会收到 AWT Eventqueue 空指针异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25194570/

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