如何使用 Map 存储不同方法引用?
IT行业相对于一般传统行业,发展更新速度更快,一旦停止了学习,很快就会被行业所淘汰。所以我们需要踏踏实实的不断学习,精进自己的技术,尤其是初学者。今天给大家整理了《如何使用 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);
今天关于《如何使用 Map 存储不同方法引用?》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注公众号!