我有一个方法需要参数中的通用映射:
public void someMethod(Map<String,?> mapParameter){
...
}
我调用此方法的实现对“?”有多个可能的值。通用参数。例如,有时“?”中的值 将是整数,其他将是字符串,布尔值。
是否存在某种方式来声明一个可以接受我的值并传递给“someMethod”方法的完全通用的 HashMap?
我试图将值提取到类“IntegerValueDTO”,接收字符串值中的值并转换为特定类型。创建的所有这些“valueDTO”类,我都从“defaultValue”扩展。有了这个,我实现了这张地图:
Map<String, ? extends DefaultValue> map = new HashMap<String, ? extends DefaultValue>();
但是,方法 someMethod 不是来自我的应用程序,它来自一个框架,那么我没有控制机会来实现。并以这种方式声明我的地图,他将生成 的地图"Map<String, some instance of DefaultValue>"
,框架崩溃。
欢迎任何帮助。