如何在for循环中将对象添加到此列表?
Transaction tx = currentSession.beginTransaction();
Criteria criteria = currentSession.createCriteria(User.class);
List<User> list = criteria.list();
List<User> userList;
for(User user : list) {
if(user.getAccountActivated() == 1) {
userList.add(user);
}
}
我尝试了上述内容,但它不起作用。
有人知道这里有什么问题吗?
答案 0 :(得分:5)
您必须初始化userList
,如
List<User> userList = new ArrayList<User>();
或者,如果您使用Java SE 7,new ArrayList<>();
答案 1 :(得分:3)
您忘记初始化userList
。
List<User> userList = new ArrayList<User>();
如果您正在使用Java 7,you can replace the type arguments required to invoke the constructor of a generic class with an empty set of type parameters (<>):
List<User> userList = new ArrayList<>();
如果您使用的是Java 8,则可以使用stream并过滤原始列表:
List<User> userList = list.stream()
.filter(u -> u.getAccountActivated() == 1)
.collect(Collectors.toList());