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

为何forEach中用class作变量名会报invalid TypeElidedFormalParameter错误?

为什么Java中不能用class作为Lambda参数名?

这是因为class是Java的关键字——Java语言预留了一系列特殊词汇用来定义语法结构,这些词不能被用作自定义的变量名、参数名、方法名或者类名。

在你写的这段代码里:

scraper.getListOfClasses(globalDocument).forEach(class -> tagsAndClasses.add(class));

Lambda表达式里的class是你想定义的参数名,但它和Java用来声明类的关键字class重名了,编译器会直接判定这是语法错误,所以抛出Syntax error on token "class", invalid TypeElidedFormalParameter的提示。

只要换成一个不是Java关键字的名字(比如你用的classes),就不会触发这个问题了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 09:03:09