java如何为集合的所有字段分配公共值?
我有一个名为empName&;薪水我有一个包含员工详细信息的员工集合作为对象。现在我想将特定字段的值重置为某个公共值。在这种情况下,我希望为列表中的所有员工项目将工资分配到“0”
List<Employee> empList;
public class Employee{
private String empName = "";
private int empSalary = "";
}
而不是使用For/Foreach遍历员工列表,并为列表中的所有项目分配所需的值
使用任何CollectionUtils(ApacheCommons或任何其他)是否有任何简单或有效的方法来实现相同的功能
# 1 楼答案
作为类变量的薪资将自动初始化为其默认值0。无论对象是否在某个集合中,只要创建了该对象,就会发生这种情况
若你们想要一些其他的公共值,你们可以在构造函数中适当地初始化它
如果要在对象被创建并添加到集合后修改其属性,那么除了迭代集合并显式设置值之外,没有其他方法
# 2 楼答案
从Java7开始,没有一种简洁的方法可以对集合进行“批量”更新。希望Java8能让这一点变得更好,但现在我建议看看像guava这样的库:http://code.google.com/p/guava-libraries/wiki/FunctionalExplained
# 3 楼答案
我相信您可以使用Commons Collections(这是您建议使用的):