You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Stream根据Map更新列表元素的属性?

解决方案

你需要在forEach中调用Reponses的setError_msg方法,用当前error_msg作为键从errormapping中获取映射值,同时处理键不存在的情况(比如保留原错误信息或设置默认值)。

完整代码示例

// 前提是Reponses类已补充对应的getter和setter方法
reponse.stream().forEach(e -> {
    // 从映射表中取替换值,不存在则保留原错误信息
    String mappedMsg = errormapping.getOrDefault(e.getError_msg(), e.getError_msg());
    e.setError_msg(mappedMsg);
});

关键补充说明

  • 你的Reponses类需要补充error_msg的setter方法(仅定义属性无法修改值):
public class Reponses {
    private String id;
    private String error_msg;

    // error_msg的getter
    public String getError_msg() {
        return error_msg;
    }

    // error_msg的setter,用于修改属性值
    public void setError_msg(String error_msg) {
        this.error_msg = error_msg;
    }

    // 可按需补充id的getter/setter
    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }
}
  • 若需求是映射表中无对应键时设为null或自定义默认值,可调整取值逻辑:
// 无对应键时设为null
String mappedMsg = errormapping.get(e.getError_msg());
// 无对应键时设为自定义默认值
String mappedMsg = errormapping.getOrDefault(e.getError_msg(), "未知错误");

内容的提问来源于stack exchange,提问作者user145345

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 03:34:54