gpt4 book ai didi

Java 局部静态方法引用速记语法

转载 作者:搜寻专家 更新时间:2023-11-01 02:37:33 25 4
gpt4 key购买 nike

是否有一种简写方式来获取对本地静态方法的方法引用,就像调用方法时可以删除 this 关键字或类前缀一样?

显而易见的事情是使用 ::myStaticMethod 但这似乎无法编译:

class MyClass {
static void myStaticMethod () {}
static Runnable runner = ::myStaticMethod; // doesn't compile
// requires MyClass prefix despite being in the same class
}

最佳答案

唉,没有捷径可走。根据JLS (15.13) ,方法引用的语法如下:

MethodReference:
ExpressionName :: [TypeArguments] Identifier
ReferenceType :: [TypeArguments] Identifier
Primary :: [TypeArguments] Identifier
super :: [TypeArguments] Identifier
TypeName . super :: [TypeArguments] Identifier
ClassType :: [TypeArguments] new
ArrayType :: new

在所有情况下,:: 之前都有一些内容。

此语法在 Java tutorial on method references 中也有较不正式的讨论。 .

关于Java 局部静态方法引用速记语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43968446/

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