那是因为你还没有实际初始化你的第二个列表。
ArrayList<DHDemande> demandesList;
应该是:
ArrayList<DHDemande> demandesList = new ArrayList<DHDemande>();
顺便说一句,你的循环被设套整个demandesList
每次迭代的方式。您是否正在寻找List#add
?
编辑:回答您的评论质疑:
是的,你可以在列表中添加使用ArrayList#addAll
另一个列表 - 这将是这样的:
ArrayList<String> userList = user.getListSalarieByManager(login);
ArrayList<DHDemande> demandesList = new ArrayList<DHDemande>();
for (int i = 0; i < userList.size(); i++) {
demandesList.addAll(d.getDemandesForManager(userList.get(i)));
}
编辑2:只是一个小请注意,您可以将for循环替换为for-each,因为您并不需要知道i
(index)的值。
例子:
for (int i = 0; i < userList.size(); i++) {
demandesList.addAll(d.getDemandesForManager(userList.get(i)));
}
假作:
for (String user : userList) {
demandesList.addAll(d.getDemandesForManager(user));
}
你为什么要初始化下一行的用户?这没有任何意义..它增加了额外的,不必要的行,并使代码稍微难以阅读。 –
@NathanHughes但我的函数getDemandesForManager()返回一个列表,我如何添加一个列表到列表?我发现'addAll' –