如何在 Java 中声明容纳不同类型方法引用的 Map?

ID:17380 / 打印

如何在 java 中声明容纳不同类型方法引用的 map?

声明容纳方法引用的映射(map)

为了将不同类的多个方法引用存储在一个映射中,需要声明容纳方法引用的函数式接口。然而,由于方法引用的泛型参数不同,声明映射时可能会遇到困难。

根据问题回答,我们可以通过使用 ide 的代码提示功能解决这个问题。首先,创建一个包含方法引用的列表,例如:

list<function<object, ?>> methods = arrays.aslist(user::getusername, post::getid);

然后,使用 ide 的提示功能(例如在 intellij idea 中输入 ".var"),确定列表的类型:

立即学习“Java免费学习笔记(深入)”;

 list<? extends function<?, ?>> methods; 

接下来,可以使用此列表类型声明映射:

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

要将方法引用放入映射中,需要进行类型转换。例如,要放入 group::getid,可以这样编写:

map.put("id", (Function<Group, Long>) Group::getId); 
上一篇: 安卓串口通信接收数据时有时无,如何解决?
下一篇: 安卓10系统下打开Word文件出错:如何解决应用程序无法访问文件问题?

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

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

与本文相关文章

发表评论:

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