我將我的項目轉換爲java8。我如何使用java8以更好的方式編寫此代碼?如何使用java8編寫更好的代碼
List<Bar> bars = new ArrayList<>();
for (Foo foo : obj.getFooList()) {
bars.add(Helper.fooToBar(foo));
}
return detailsVos;
我將我的項目轉換爲java8。我如何使用java8以更好的方式編寫此代碼?如何使用java8編寫更好的代碼
List<Bar> bars = new ArrayList<>();
for (Foo foo : obj.getFooList()) {
bars.add(Helper.fooToBar(foo));
}
return detailsVos;
流使用方法的參考名單,測繪,然後收集到一個列表並返回它:
return obj.getFooList().stream().map(Helper::fooToBar).collect(Collectors.toList());
注意,「更好」被解釋爲「簡潔」和「使用Java 8風格「。
另請注意,由於使用流的開銷,這可能會執行略微比您的原始代碼差。
無論是做一個'清單'了'名單'通過調用一個方法,或'名單'了'名單的',答案是一樣的,你可以參考關聯的問題。請注意,由於您正在清楚地瞭解Stream API,因此通過閱讀[流教程](https://docs.oracle.com/javase/tutorial/collections/streams/),然後閱讀任何答案。 –
Tunaki