gpt4 book ai didi

java - 为什么单个下划线字符是 lambda 参数的非法名称?

转载 作者:IT老高 更新时间:2023-10-28 20:52:35 24 4
gpt4 key购买 nike

我尝试命名一个 lambda 参数 _,例如(精简版):

Consumer<Object> c = _ -> {};

因为我想表明一个参数被忽略,但我得到了以下编译器错误:

use of '_' as an identifier is forbidden for lambda parameters

这对我来说是一个惊喜。有趣的是,两个下划线是可以的:

Consumer<Object> c = __ -> {}; // no compile error

所以一般来说它不是下划线字符,而是一个。

为什么特别禁止使用单下划线名称?

最佳答案

原因用this post表示来自 Brian Goetz他自己:

We are "reclaiming" the syntactic real estate of "_" from the space of identifiers for use in future language features. However, because there are existing programs that might use it, it is a warning for identifiers that occur in existing syntactic positions for 8, and an error for lambda formals (since there is no existing code with lambdas.)

关于java - 为什么单个下划线字符是 lambda 参数的非法名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34521690/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com