您好,我有带有值的哈希图:
private static final LinkedHashMap<Class<? extends Annotation> , Class<? extends AGenerator<?>>> annotationGeneratorMap = new LinkedHashMap<Class<? extends Annotation>, Class<? extends AGenerator<?>>>();
我的数字生成器看起来像:
public abstract class NumericGenerator<T extends Number> extends AGenerator<T>{
public NumericGenerator(Field field) {
super(field);
// TODO Auto-generated constructor stub
}
public T random() {
// TODO Auto-generated method stub
return null;
}
}
当我需要将此类放入 hashmap 时,我遇到了问题:
annotationGeneratorMap.put(GenerateNumeric.class, NumericGenerator.class);
而在eclipse中我有错误该方法不适用于参数???
但 :
annotationGeneratorMap.put(GenerateNumeric.class, (Class<? extends AGenerator<?>>) NumericGenerator.class);
并且@SuppressWarnings("unchecked") 很好..:/
我可以在不铸造的情况下做到这一点吗?(Class<? extends AGenerator<?>>) NumericGenerator.class