如何使用 Map 存储不同方法引用?

ID:17393 / 打印

如何使用 map 存储不同方法引用?

如何用映射(map)储存不同方法引用的方法

在大型项目中,我们经常需要将不同类的 getter 方法组织起来,以方便访问对象属性。这些方法具有不同的返回值类型,因此我们不能使用具有相同泛型类型参数的方法引用。

解决方案

为了解决此问题,我们可以使用泛型来创建映射(map):

map<string, function<?, ?>> map = new hashmap<>();

对于每个方法引用,我们需要先将其转换为通用类型的 function 对象。例如,要存储 group::getid,我们可以这样写:

map.put("id", (function<group, long>) group::getid);

当我们想要使用这些方法引用时,我们可以通过键来从映射中获取它们。例如,以获取 group 的 id 为例:

long id = map.get("id").apply(group);
上一篇: Android 开发:Fragment 如何最有效地调用 Activity 方法?
下一篇: 释放 Spring Cloud Gateway 的可扩展微服务潜力

作者:admin @ 24资源网   2024-11-27

本站所有软件、源码、文章均有网友提供,如有侵权联系308410122@qq.com

与本文相关文章

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。