beklediğim işlevsel arayüz yöntem tek bir argüman kabul etmesi gerektiğini varsayalım. The identifier _
is a reserved keyword since Java 8.
Sadece bir atlamalı (geçerli tanımlayıcı) karakter kullanırdım.
setRowFactory(i -> new TableRowCustom());
setRowFactory($ -> new TableRowCustom()); // allowed, but avoid this
hatta
setRowFactory(ignored -> new TableRowCustom());
açık olması. Java Language Specification
LambdaExpression:
LambdaParameters -> LambdaBody
ve diğer bir deyişle
LambdaParameters:
Identifier
([FormalParameterList])
(InferredFormalParameterList)
InferredFormalParameterList:
Identifier {, Identifier}
, bir tanımlayıcı ihmal edilemez bir lambda ifade sözdizimini tanımlamaktadır. onlar kullanılmayan bir parametre adı olarak
_
kullanmaya karar zaman, kaynak kodunda
_
için
__
değiştirmek kolay olacak ve eğer
Holger gibi
öneriyor. Şimdilik bununla uğraşmak isteyebilirsiniz.
"setRowFactory" parametresi tarafından beklenen işlevsel arabirim türü (ve yöntemi) nedir? –
ayrıca bir metod referansı ile sadece TableRowCustom :: new olan ve lambda – george
@george yerine bir yöntem referansı kullanabilirsiniz, hedef işlevle aynı sayıda parametreyi almayan bir yönteme başvurmak için bir yöntem referansı kullanamazsınız tipi (burada 0'a 1, görünüşte). –