在Java8流API中使用条件修改数组列表
你能帮我把下面的在Java8流API中使用条件修改数组列表,java,java-stream,Java,Java Stream,你能帮我把下面的forEach转换成流吗 这是我的密码: List<Addon> addonItems = <Some Addon List> for (Addon addOn : addonItems) { if (GeoCode.TRP.toString().equals(addonItems.getSomeCode())) { addonItems.setName("Got from GOOGLE"); } } List addo
forEach
转换成流吗
这是我的密码:
List<Addon> addonItems = <Some Addon List>
for (Addon addOn : addonItems) {
if (GeoCode.TRP.toString().equals(addonItems.getSomeCode())) {
addonItems.setName("Got from GOOGLE");
}
}
List addonims=
for(Addon Addon:addonims){
if(GeoCode.TRP.toString().equals(addonims.getSomeCode())){
setName(“从谷歌获得”);
}
}
您的示例代码实际上不会编译,但我将尝试回答您的问题
addonItems.stream().filter(addonItem -> GeoCode.TRP.toString().equals(addonItem.getSomeCode()))
.forEach(addonItem -> addonItem.setName("Got from GOOGLE"));
这段代码的作用是根据我们的lambda filter表达式对addonims列表中的元素进行流式处理,并对addonims进行筛选。当调用forEach时,它将执行此流操作,并根据我们的筛选表达式相应地设置每个addonItem的名称。addonItems.setName不会编译。”“setName”不是列表对象中可用的方法。