使用String键的Java Map / JSONObject put方法(Map <! - ?,? - > Casting problems)

时间:2016-04-08 11:20:50

标签: java dictionary casting

所以,问题如下。我有一个方法,我想让它适用于Maps和JSONObject,因此可以在两种情况下调用它。

经过一些操作后,我需要将Map / JSONObject放入一个Object中。我想这样做:

private void putDefaultValue(Object obj) {
    //... some code...
    String key = "key";
    Object objectToUpdate = ...; //whatever
    //... some code...
    if (obj instanceof Map) ((Map<?,?>)obj).put(key, objectToUpdate);
    else if (obj instanceof JSONObject) ((JSONObject)obj).put(key, objectToUpdate);
}

JSONObject没有出现任何问题,但Map强制显示错误:

  

该方法在类型中放置(捕获#6-of?,捕获#7-of?)   映射不适用于参数   (String,Object)

我可以为Map<?,?>更改Map<String,Object>投射,但我会收到警告:

  

类型安全:从对象到地图的未选中投射

我不想添加任何抑制警告,并且能够以适当的方式执行此操作。有什么建议?感谢

0 个答案:

没有答案