如何在一个映射(Map)中存储不同类的多个 getter 方法引用?

如何在一个映射(map)中存储不同类的多个 getter 方法引用?

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

如何将不同类的多个方法引用存储在一个映射(Map)中?这些方法都是 getter 方法,但返回类型不同,例如 User::getUsername、Group::getName 和 Post::getId。

解决方法:

使用 IDEA 的代码提示功能,具体步骤如下:

  1. 在一行新代码中输入 Arrays.asList(getUsername, getId)。
  2. 在其后输入 “.var” 并按回车键,IDEA 将自动提示列表的类型和变量名。提示的类型为 List extends Function , ?>>。
  3. 映射可以使用类似的声明,将映射类型声明为 Map<string function>>。string>
  4. 将方法引用放入映射需要类型转换,例如,将 Group::getId 放入映射中:map.put("id", (Function) Group::getId)。

以上就是如何在一个映射(Map)中存储不同类的多个 getter 方法引用?的详细内容,更多请关注其它相关文章!