我有一个带有以下签名的方法
public static ActionDefinition reverse(String action,Map<String,Object> args)
public static Map<String,String> toMap(String value)
ActionDefinition ad = reverse("Action.method",toMap("param1=value1,param2=value2"));
我需要做点什么
(Map<String,Object>) toMap("param1=value1,param2=value2");
但我无法做到这一点
我也试过以下方法
public static Map<String,String> toMap(String value) { Map<String,Object> source = toMap(value); Map<String,String> map = new LinkedHashMap<String,String>(); for(Map.Entry<String,Object> entry: source.entrySet()) { map.put(entry.getKey(),(String) entry.getValue()); } return map; }
但我想由于类型擦除,我得知该方法是重复的…
任何的想法?
–
编辑
我忘了声明我无法改变反向方法,正如许多人所建议的那样……
解决方法
如果你可以改变你想要的方法
public static ActionDefinition reverse(String action,? extends Object> args)