使用Java Lambda或streams将POJO列表转换为其ID列表
我正试图拓宽我的Java视野,并开始实际编写Java 8+代码。在这种情况下,我有一个POJO列表(每个POJO实例都有一个id : Long
字段),我需要生成一个List<Long>
来代表它们的所有ids
。以下是我的代码,它运行得非常好:
List<Fizzbuzz> fizzbuzzes = getFizzbuzzes();
List<Long> fbIds = new ArrayList<>();
for(Fizzbuzz fb : fizzbuzzes) {
fbIds.add(fb.getId());
}
我想知道是否有一种更“现代”的Java8+方式(lambdas或collections技巧、流媒体等)来编写这段代码。有什么想法吗?或者这是最好的吗
# 1 楼答案
# 2 楼答案
当然可以:
# 3 楼答案
使用Java 8流和方法引用,这样会更好:
# 4 楼答案
Fizzbuzz
Stream<Long>
它将提供: