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

升级Java 21后IntelliJ出现误报:“Foreach not applicable to type 'java.util.List<my_service.routes.Route>'”

升级Java 21后IntelliJ出现误报:“Foreach not applicable to type 'java.util.List<my_service.routes.Route>'”

兄弟我太懂这种明明代码跑起来全正常、IDE却瞎标红报错的憋屈了!你这情况我升级Java版本时也碰到过,百分百是IntelliJ的缓存或者配置没跟上Java 21的节奏,跟代码本身半毛钱关系都没有——毕竟bootRun能跑、测试全过,说明逻辑完全没问题。

给你几个亲测有效的解决办法:

  • 先清IDE缓存救急:点顶部菜单栏的File -> Invalidate Caches...,选Invalidate and Restart重启IDE。这招对付各种玄学误报堪称神器,大概率重启完红标就没了。
  • 检查语言级别配置:右键项目按F4打开Module Settings,在Project和Modules选项卡里,把语言级别都改成21,确保和你用的Java版本完全匹配。
  • 确认SDK配置:同样在Module Settings的SDKs里,看看是不是已经正确选了Java 21的SDK,别还挂着旧版本的SDK没换。
  • 实在不行就重新导入项目:先把项目从IDE里移除,再重新导入一遍,有时候版本升级后项目配置文件会残留旧信息,重新导入能重置配置。

放心按步骤来,肯定能把这个误报搞定!

备注:内容来源于stack exchange,提问作者Kira Resari

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.13 16:14:32