声明容纳方法引用的映射(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)。
以上就是如何在一个映射(Map)中存储不同类的多个 getter 方法引用?的详细内容,更多请关注图灵教育其它相关文章!