您能否在这里帮助我将下面的forEach
转换为Stream。
这是我的代码:
List<Addon> addonItems = <Some Addon List>
for (Addon addOn : addonItems) {
if (GeoCode.TRP.toString().equals(addonItems.getSomeCode())) {
addonItems.setName("Got from GOOGLE");
}
}
最佳答案
您的示例代码实际上不会编译,但我会尝试回答您的问题...
addonItems.stream().filter(addonItem -> GeoCode.TRP.toString().equals(addonItem.getSomeCode()))
.forEach(addonItem -> addonItem.setName("Got from GOOGLE"));
这段代码的作用是流化addonItems列表中的元素,并根据我们的lambda过滤器表达式对addonItems进行过滤。当调用forEach时,它将执行此流操作,并根据我们的过滤器表达式相应地设置每个addonItem的名称。