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

标签 java lambda enums java-8 method-reference

如果你只有一个 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/

相关文章:

java - 由于缺少 EmbeddedServletContainerFactory bean,无法启动 EmbeddedWebApplicationContext

java - 停止运行 for 循环,直到我收到 onClickListener 的响应

java - 如何将 forEach 与 slf4j.logger.info 一起使用

Python 的 argparse : How to use keyword as argument's name

swift - 可解码符合枚举类型的属性

java - 不安全的强制转换问题,如何强制类型安全?

java - Android if 语句 - 如果字符串包含数组中的任何字符串

python - 使用 exec() 从字符串运行 lambda 函数

java - 查找 Java 枚举的最佳实践

java - 如何访问 playframework 模板中的枚举字段