簡體   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