我对 Java8 还很陌生。我需要将 POJO 列表转换为按特定条件分组并在 UI 上显示。
- 将属于“ child ”类别的对象列表转换为“人员” 类别。
返回列表。
Children.java private String firstName; private String lastName; private String school; private String personId; // Setters and getters. Person.java private String fullName; private String address; // Setters and Getters. private Person convertChildToPerson(Children child) { Person person = new Person(); person.setFullName(child.getLastName() + ", " + child.getFirstName()); .. return person; }
.. 主要代码.. ..
List<Person> personList; // Is populated by other functions. // Connect to DB and gets the output List<Children> childrenList = (Children) criteria.list(); for(Children children: childrenList) { personList.add(convertChildToPerson(children)); } return personList;
上面的FOR-LOOP不能用Java 8 Streams代替吗?
最佳答案
List<Person> newList = childrenList.stream()
.map(this::convertChildToPerson)
.collect(Collectors.toList());
personList.addAll(newList);
按照霍尔格的建议,更短(更好):
childrenList.stream()
.map(this::convertChildToPerson)
.forEachOrdered(personList::add);
关于Java 8 如何操作一个列表中的对象并将它们收集到另一个列表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49016072/