繁体   English   中英

具有泛型流的Java 8收集器

[英]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()方法的返回类型为longLong ,则此强制转换绝对不必要。 你可以写

List<Long> ids = transfers.stream().map(f -> f.getId()).collect(Collectors.toList());

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM