在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”不是列表对象中可用的方法。