我正在一个项目中,在其中遍历数据库并将“配置文件”对象添加到arraylist(searchResults),但是由于某种原因,通过遍历结果集而创建的最后一个对象在arraylist中重复。请参见下面的代码段:
public static ArrayList<Profile> searchResults;
public void showSearchResults(){
searchResults = new ArrayList<>();
searchResults.clear();
try {
// create SQL statement object for query
statement = Connect.toDatabase();
resultSet = statement.executeQuery (SQL query here)
while(resultSet.next()){
Profile newProfile = new Profile();
newProfile.setUsername(resultSet.getString("username"));
newProfile.setFirstName(resultSet.getString("first_name"));
newProfile.setLastName(resultSet.getString("last_name"));
newProfile.setGender(resultSet.getString("gender"));
newProfile.setAge(String.valueOf(resultSet.getInt("age")));
newProfile.setCity(resultSet.getString("city"));
searchResults.add(newProfile);
}
} catch (SQLException e) {
// print out exceptions
e.printStackTrace();
} finally {
// close the connections
Connect.closeConnection(statement, resultSet);
showResults = true;
}
}
public ArrayList<Profile> getSearchResults() {
return searchResults;
}
任何与此问题的帮助将不胜感激。提前致谢
这是因为您已将个人资料类中的edit:属性声明为static,并且作为一般规则,static属于类,而非static属于对象。
如果只有一个实例要使用该方法,则静态方法很有用。
由于您在这里有多个实例(对象)=这不是您想要的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句