给定一个`Class`对象,获取对`toString`的方法引用

Bas*_*que 2 java lambda enums java-8 method-reference

如果您只有一个Class对象,一个人如何获得方法引用到的方法,如toString?稍后我们将有这个特定类的实例,我们将通过方法引用调用此方法.

例如,考虑Java枚举,它的子类Enum.这里T定义为<T extends Enum>.

Class c = MyEnum.class
…
Function< T , String> f = c :: toString ;
Run Code Online (Sandbox Code Playgroud)

我收到一条错误,说"无效的方法参考".

Lou*_*man 7

因为toString,它就像Object::toString.所有Object的都有toString,所以你可以在那里使用它.对于静态不知道对象具有该方法的其他方法,没有简单的方法; 你必须写一个lambda,以丑陋的反思方式.