我想使用Java8更有效、更清晰地改进代码。有人能告诉我,所以非常感谢你,我想从发电机的支票上得到空转名单和姓名。代码在下面。
LocalDateTime newStart = LocalDateTime.now();
List<Check> checks = generateCheck();
List<String> idListNew = new ArrayList<>();
List<String> nameListNew = new ArrayList<>();
checks.forEach(ck -> {
idListNew.add(ck.getId());
nameListNew.add(ck.getName());
});
4条答案
按热度按时间htzpubme1#
如果您碰巧使用Java12或更高版本,那么您可以使用
teeing
收藏家:private static record Merger(List ids, List names) { }
// Records are a language feature since Java 15. Otherwise, you could instead
// write this class yourself:
class Merger {
List ids;
List names;
// All-args constructor and getters
}
// Or you could just use an existing type like Map.Entry or Pair.
nzrxty8p2#
以上答案相同,但更有效的表现是:
bwitn5fc3#
您还可以组合消费者,例如:
bq9c1y664#
Java8流和基于lambda的解决方案,没有副作用。