Jan*_*net 5 java syntax method-reference
是否有一种简便的方法来获取对本地静态方法的方法引用,就像this调用方法时可以删除关键字或类前缀一样?
显而易见的是使用::myStaticMethod但似乎无法编译:
class MyClass {
static void myStaticMethod () {}
static Runnable runner = ::myStaticMethod; // doesn't compile
// requires MyClass prefix despite being in the same class
}
Run Code Online (Sandbox Code Playgroud)
唉,没有捷径。根据JLS(15.13),方法引用的语法如下:
Run Code Online (Sandbox Code Playgroud)MethodReference: ExpressionName :: [TypeArguments] Identifier ReferenceType :: [TypeArguments] Identifier Primary :: [TypeArguments] Identifier super :: [TypeArguments] Identifier TypeName . super :: [TypeArguments] Identifier ClassType :: [TypeArguments] new ArrayType :: new
在所有情况下,在 之前都有一些东西::。
关于方法引用的 Java 教程中也不太正式地讨论了该语法。
| 归档时间: |
|
| 查看次数: |
455 次 |
| 最近记录: |