[英]java 8 collectors for streams with generics
我有一个长字段的类(原始类型):
class Transfer {
private long id;
//gets sets
}
我希望得到一个List<Long>
从Collection<Transfer>
这将包含所有的IDS Collection<Transfer>
如
Collection<Transfer> transfers = ..;
List<Long> ids = (List<Long>) transfers.stream().map(f -> f.getId()).collect(Collectors.toList());
令我困惑的是这个丑陋的演员:
(List<Long>) transfers.stream()
有什么办法可以避免呢?
假设您的getId()
方法的返回类型为long
或Long
,则此强制转换绝对不必要。 你可以写
List<Long> ids = transfers.stream().map(f -> f.getId()).collect(Collectors.toList());
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.