如果你只有一个 Class
对象,如何获得 method reference到诸如 toString
之类的方法?稍后我们将拥有这个特定类的实例,我们将在这些实例上通过方法引用调用此方法。
例如,考虑一个 Java 枚举,它是 Enum
的子类.这里T
定义为 <T extends Enum>
.
Class c = MyEnum.class
…
Function< T , String> f = c :: toString ;
我收到一条错误消息“无效的方法引用”。
最佳答案
对于 toString
,它和 Object::toString
一样简单。所有 Object
都有 toString
,因此您可以直接使用它。对于您静态不知道对象具有该方法的其他方法,没有简单的方法;您必须编写一个 lambda 以丑陋的反射方式执行此操作。
关于java - 给定一个 `Class` 对象,获取对 `toString` 的方法引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32241051/