我正在遍历使用迭代器的对象列表。
List<FormQuestion> questions = regMetadata.getFormQuestions();
Iterator<FormQuestion> iter = questions.iterator();
while (iter.hasNext()){
FormQuestion question = iter.next();
//if invalid question, delete from list
if(question.getModuleType().intValue() == -1) {
iter.remove();
}
}
iter.remove()
也在从数据库中删除对象。有什么方法只能从此列表(问题)而不是从数据库中删除对象吗?我正在使用Hibernate和MySQL。 最佳答案
我将过滤问题,并将其写到新的List
中:
List<FormQuestion> questionsAll = regMetadata.getFormQuestions();
List<FormQuestion> questions = new ArrayList<>();
for (FormQuestion question : questionsAll) {
// add to the list, unless invalid
if (question.getModuleType().intValue() != -1) {
questions.add(question)
}
}
另外,我使用for-each循环而不是
Iterator
。您甚至还可以重写它流。