Mne*_*nth 1 java generics instanceof
我想要一个方法,从之前解析的JSON对象中提取数据作为正确的类型.JSONObject(rawdata)扩展了Map,所以它看起来像这样:
private <Type> Type getValue(String key, Type def)
{
if (!rawdata.containsKey(key)) return def;
if (!(rawdata.get(key) instanceof Type)) return def;
return (Type) rawdata.get(key);
}
Run Code Online (Sandbox Code Playgroud)
该instanceof明显产生编译时错误.该参数def是default-value,如果密钥不可用或类型错误,则返回该参数.但def也可以为null,所以def.getClass()不起作用.
我有什么想法可以检查Map-entry的内容是否正确?