所以我知道我可以使用两条.stream
行来完成此操作,但不确定我是否只能在一行中执行此操作。
这就是我所拥有的:
List<Long> abcIds= abcController.findByUserIds(userIds)
.stream()
.map(Abc::getAbcId)
.collect(Collectors.toList());
但我希望abcIds成为一个整数列表,因为稍后我将使用它的其他函数。我知道我可以写这样的另一行来将List of Long转换为整数列表:
List<Integer> abcIntIds= abcIds.stream()
.map(Long::intValue)
.collect(Collectors.toList());
但有没有办法把它写得更优雅?
答案 0 :(得分:6)
为什么不map
两次?
abcController.findByUserIds(userIds)
.stream()
.map(Abc::getAbcId)
.map(Long::intValue)
.collect(Collectors.toList());