java - java中的通用 map

标签 java generics dictionary hashmap

我有一个方法需要参数中的通用映射:

public void someMethod(Map<String,?> mapParameter){
    ...
}

我调用此方法的实现,“?”有多个可能的值通用参数例如,有时“?”中的值将为整数,其他为字符串、 boolean 值。

是否存在某种方法来声明一个完全通用的 HashMap,它可以接受我的值,并传递给“someMethod”方法?

我尝试将值提取到类“IntegerValueDTO”中,接收字符串值中的值并转换为特定类型。所有这些创建的“valueDTO”类,我都从“defaultValue”扩展。 这样,我实现了这张 map :

Map<String, ? extends DefaultValue> map = new HashMap<String, ? extends DefaultValue>();

但是,方法 someMethod 不是来 self 的应用程序,它来自框架,那么我就没有控制机会来实现。并以这种方式声明我的 map ,他将生成 "Map<String, some instance of DefaultValue>" 的 map ,并且框架崩溃。

欢迎任何帮助。

最佳答案

Map<String, ? extends Object> map = new HashMap<String, ? extends Object>();

如果该方法返回一些您希望在应用程序中使用的值,您可以使用反射来查看它返回的值并转换为该特定对象。

关于java - java中的通用 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11619485/

相关文章:

java - CAS + Spring 安全

java - fragment 中的返回堆栈不起作用

java - 如何允许两个使用不同 jre 的小程序工作

c# - 如何在开放泛型类型中定义构造函数?

java - 通用类型与给定的方法签名不兼容?

c# - 如果有方法/扩展方法,则调用它

python - 用基于字典的条目数组替换 Pandas DataFrame 列中的字符串

java - Java 8 中原始特化的不一致

list - Elixir:将列表转换为具有整数键的映射

python - 嵌套字典 copy() 或 deepcopy()?