[英]How to fix only last object from loop being duplicated in Java ArrayList
我正在處理一個項目,在該項目中我循環遍歷數據庫並將“配置文件”對象添加到數組列表 (searchResults),但由於某種原因,通過循環遍歷結果集創建的最后一個對象在數組列表中重復。 請參閱下面的代碼片段:
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 ,並且作為一般規則,靜態屬於類,而非靜態屬於對象。
如果您只有一個實例要使用該方法,則靜態方法很有用。
由於您在這里有多個實例(對象)= 這不是您想要的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.