如何在一个映射(Map)中存储不同类的多个 getter 方法引用?
ID:17259 / 打印
声明容纳方法引用的映射(Map)
如何将不同类的多个方法引用存储在一个映射(Map)中?这些方法都是 getter 方法,但返回类型不同,例如 User::getUsername、Group::getName 和 Post::getId。
解决方法:
使用 IDEA 的代码提示功能,具体步骤如下:
- 在一行新代码中输入 Arrays.asList(getUsername, getId)。
- 在其后输入 “.var” 并按回车键,IDEA 将自动提示列表的类型和变量名。提示的类型为 List extends Function , ?>>。
- 映射可以使用类似的声明,将映射类型声明为 Map>。
- 将方法引用放入映射需要类型转换,例如,将 Group::getId 放入映射中:map.put("id", (Function) Group::getId)。
作者:admin @ 24资源网 2024-11-27
本站所有软件、源码、文章均有网友提供,如有侵权联系308410122@qq.com