如何阻止编译器抱怨map.get()?带类密钥的Java HashMap泛型
“类型不匹配:不能从的ClassInfo转换<捕获#1的>到的ClassInfo <牛逼>?”
class Context
{
final private Map<Class<?>,ClassInfo<?>> map = new HashMap<>();
<T> ClassInfo<T> getClassInfo(Class<T> c)
{
ClassInfo<T> ci = map.get(c);
if (ci == null) {
ci = new ClassInfo<T>(c);
map.put(c, ci);
}
return(ci);
}
}
一些更多的信息:
的ClassInfo包含类数据,通过反射聚集。
只有在使用Eclipse编译器时,编译器错误才会发生在JDK javac中。
你怎么看这条线怎么办? ' ClassInfo getClassInfo(Class c)' –
您可以附上Context并用T声明Map –