为什么单个下划线字符是 lambda 参数的非法名称?
2022-09-01 12:04:45
我尝试命名一个lambda参数,例如(一个精简版本):_
Consumer<Object> c = _ -> {};
因为我想表示参数被忽略,但我得到了以下编译器错误:
对于 lambda 参数,禁止使用'_'作为标识符
这对我来说是一个惊喜。有趣的是,两个下划线是可以的:
Consumer<Object> c = __ -> {}; // no compile error
因此,它不是一般的下划线字符,而是单个字符。
为什么明确禁止使用单下划线名称?