我有一个具有长字段(原始类型)的类:
class Transfer {
private long id;
//gets sets
}
我想从List<Long>
获得Collection<Transfer>
,其中包含来自Collection<Transfer>
的所有ID,例如
Collection<Transfer> transfers = ..;
List<Long> ids = (List<Long>) transfers.stream().map(f -> f.getId()).collect(Collectors.toList());
令我困惑的是这个丑陋的演员:
(List<Long>) transfers.stream()
有什么办法可以避免吗?
答案 0 :(得分:1)
假设您的getId()
方法返回类型为long
或Long
,则此强制转换绝对不必要。你可以写
List<Long> ids = transfers.stream().map(f -> f.getId()).collect(Collectors.toList());