既然您提到了这可行
setRowFactory(__ -> new TableRowCustom());
我假设预期的功能接口方法必须接受一个参数。自Java8以来,该标识符
_是保留关键字。
我只会使用一个一次性的(有效标识符)字符。
setRowFactory(i -> new TableRowCustom());setRowFactory($ -> new TableRowCustom()); // allowed, but avoid this
甚至
setRowFactory(ignored -> new TableRowCustom());
明确地说。
在Java语言规范定义了一个lambda表达式的句法
Lambdaexpression: LambdaParameters -> LambdaBody
和
LambdaParameters: Identifier ( [FormalParameterList] ) ( InferredFormalParameterList )InferredFormalParameterList: Identifier {, Identifier}换句话说,您不能省略标识符。
作为霍尔格)建议,如果当他们决定使用
_作为一个未使用的参数名称,它会很容易从改变
__到
_你的源代码。您可能现在只想坚持下去。



