假设我有两种方法。一个创建一个arraylist并返回它,另一个检索该列表进行处理。两种方法都有不同的类别:ArrayList被返回,但收到一个空指针?
public ArrayList getSocialUsers() throws SQLException
{
Connection conn=DriverManager.getConnection("jdbc:mysql:///socialsystemtest1?user=root&password=");
Statement stmt= null;
String query="SELECT FORE_NAME FROM socialsystemtest1.socialworkers";
stmt= conn.createStatement();
ArrayList<String> socialWorkers= new ArrayList<String>();
try{
ResultSet rs= stmt.executeQuery(query);
while(rs.next())
{
String user= rs.getString("Fore_Name");
socialWorkers.add(user);
}
}
catch(SQLException e) {
//do nothing
}
finally{
if(stmt != null) {
stmt.close();
}
}
return socialWorkers;
}
public void processArray(){
try{
ArrayList<String>= db.getSocialUsers();
//code ommitted
}
catch(SQLException e){
//deal with it here
}
}
db是返回已经实例化的数组列表的类的实例。我在第二类方法的第一行收到一个空指针错误:调用自身的getSocialUsers()
方法时db.getSocialUsers();
这个作品和ArrayList
确实与正确的元素返回但是从另一个类调用时,它提供一个空指针,我不知道为什么
给出NPE的行不能编译。什么是实际的代码? – Ishtar 2011-12-15 10:34:08
你在哪里实例化数据库? – Muse 2011-12-15 10:34:25