gpt4 book ai didi

java - 使用带有 ResultSet 的 ArrayList 的空指针异常

转载 作者:行者123 更新时间:2023-11-29 06:10:55 26 4
gpt4 key购买 nike

我有一个返回字符串 ArrayList 的函数“getStudent()”,当我在另一个类中调用这个函数时,我得到一个 NullPointerException,我以为我已经正确地初始化了我的列表。

这是两个函数,我得到一个 NullPointerException 的行以粗体显示。

 public ArrayList<String> getStudents(){

try
{
System.out.println("gets here ");

Statement newStat = this.conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
ResultSet res = newStat.executeQuery("SELECT FirstName FROM Students");

String data = "";
while (res.next()){

studentList.add(res.getString("FirstName"));
}

}
catch(SQLException e){
System.err.println("SQLException: " + e.getMessage());
}
return studentList;
}

调用“getStudents()”的函数

  public class CancelListener implements ActionListener{
private Main_Menu menu;
private ArrayList<String> arrayList = new ArrayList<String>();;
Iterator iterator = arrayList.iterator();


public CancelListener(Main_Menu menu) {
this.menu = menu;
}

@Override
public void actionPerformed(ActionEvent ae) {
if(ae.getActionCommand().equalsIgnoreCase("Cancel")){

**arrayList = StudentModel.getStudents();**// NULLPOINTER EXCEPTION

while(iterator.hasNext()){

System.out.println(iterator.next().toString());
}
this.menu.resetStudent();
}

}
}

最佳答案

您的 StudentModel 变量可能为空。您发布的代码没有显示该变量是如何初始化的,所以我无法确切地告诉您您做错了什么,但是当您到达标记的行时,它必须为空。

在尝试使用它之前,您应该检查是否正确初始化了该变量。

关于java - 使用带有 ResultSet 的 ArrayList 的空指针异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6880414/

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