如何移除Lambda表达式外层冗余大括号?解决Sonarlint S1602警告
解决Sonarlint S1602警告:移除Lambda表达式中无用大括号的正确写法
你移除大括号后写法无效的原因是多保留了语句末尾的分号。在Lambda表达式的单语句模式下(省略大括号时),语句末尾不需要加分号。
正确写法:
communes.foreachPartition( partition -> partition.forEachRemaining(commune -> this.validator.validerRowCommune(historique, commune)) );
原因说明:
- 当Lambda体仅包含一条语句时,既可以省略包裹语句的大括号,同时必须去掉该语句末尾的分号——Lambda的单语句语法不允许保留分号,否则会触发编译错误。
- 你之前的修改保留了
partition.forEachRemaining(...)后的分号,这是导致写法无效的核心问题。
内容的提问来源于stack exchange,提问作者Marc Le Bihan
相关产品推荐
相关产品推荐

