假設我有兩種方法。一個創建一個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