所以,问题如下。我有一个方法,我想让它适用于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>
投射,但我会收到警告:
类型安全:从对象到地图的未选中投射
我不想添加任何抑制警告,并且能够以适当的方式执行此操作。有什么建议?感谢