我有一个Entities Employee(Class)列表,其中包含empid,empname,emprole.salary字段
List<Employee>= getting from database
我想将其转换为具有字段empname,emprole,salary
的模型列表Person(Class)List<Person> person = new ArrayList<Person>();
我可以使用for
循环进行转换。但是,我想使用lambda表达式转换它。
答案 0 :(得分:3)
假设你有一个合适的构造函数,它应该简单:
List<Person> people = employees
.stream() // View the list as a stream
.map(e -> new Person(e.getId(), e.getName(), e.getRole().getSalary()))
.collect(Collectors.toList());
请注意,如果您正在使用员工列表 all ,那么这可能意味着您获取的数据超出了实际需要。您应该查看查询正在执行的操作,并考虑将它们调整为仅返回您需要的内容。