私たち全員が使用しなければならなかったこの退屈なコードがあるとしましょう:
ArrayList<Long> ids = new ArrayList<Long>();
for (MyObj obj : myList){
ids.add(obj.getId());
}
Java 8 に切り替えた後、私の IDE は、このコードを に置き換えることができると通知しcollect call、自動生成します:
ArrayList<Long> ids = myList.stream().map(MyObj::getId).collect(Collectors.toList());
ただし、このエラーが表示されます:
Steam の collect(java.util.stream.Collector) は適用できません: (java.util.stream.Collector, capture, java.util.List>)
パラメータをキャストしようとしましたが、未定義のAandRが返され、IDE はそれ以上の提案をしません。
このシナリオでどのように使用できるか興味がありますcollect callが、適切にガイドできる情報が見つかりませんでした. 誰でも光を当てることができますか?