我想清理每个员工对象上的一些数据。我正在尝试这样做,但无法实现所需的输出。如何使用Java8流功能?
bulkEmployeeClean( Collection<Employee> entities) {
Collection<Employee> entities2 = entities.stream().map(employee->cleanEmployee(employee));
}
Employee cleanEmployee(Employee emp) {
//clean the employee data
}
我想要的输出是我想用java 8流清理每个员工对象
我得到以下错误: ErrorType不匹配:无法从void转换为Collection
答案 0 :(得分:2)
为什么不迭代你的对象并进行修改?
bulkEmployeeClean( Collection<Employee> entities){
entities.forEach(this::cleanEmployee)
}
答案 1 :(得分:1)
entities.stream()
.forEach(employee->cleanEmployee(employee))
答案 2 :(得分:1)
collect(Collectors.toList())
我建议使用过滤器选项
List<Employee> activeEmployees = entities.stream().filter(employee -> employee.isActive()).collect(Collectors.toList())
如果要清除Employee对象,则为此。如果你需要编辑那些你可以迭代它们并在每个对象上调用clean方法。