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

如何将Java中使用Stream和Lambda的代码转换为普通for-each循环?

改写后的非Lambda/Stream实现代码

以下是将原使用Stream和Lambda的参数校验异常处理代码,改为传统for-each循环实现的版本,功能完全一致:

@Override
protected ResponseEntity<Object> handleMethodArgumentNotValid(MethodArgumentNotValidException ex,
        HttpHeaders headers, HttpStatus status, WebRequest request) {
    List<String> validationList = new ArrayList<>();
    // 遍历所有字段错误,收集错误消息
    for (FieldError fieldError : ex.getBindingResult().getFieldErrors()) {
        validationList.add(fieldError.getDefaultMessage());
    }
    return new ResponseEntity<>(validationList, status);
}

说明

  • 手动初始化ArrayList存储错误消息,替代原代码中Collectors.toList()的作用
  • 使用普通for-each循环遍历FieldErrors集合,逐个获取错误消息并添加到列表中,替代原stream().map(...)的逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 08:25:39