我有这两个接口:
public interface FieldValue<T> {
public String getLabel();
public T getHrValue();
public T getPicValue();
public T getMinusOneValue();
public T getMinusTwoValue();
}
和
public interface Field<T> {
public List<FieldValue<T>> getValues();
public void injectHrValue(ReportData data);
public void injectPicValue(ReportData data);
public void injectMinusOneValue(ReportData data);
public void injectMinusTwoValue(ReportData data);
public void debug();
}
然后我有一个包含此类字段类型列表的类。如果我尝试以这种方式进行迭代,getValues() 将无法推断出 FieldValue 类型,而只能推断出 Object。
for (Field f : myclass.getFields()) {
for(FieldValue fv : f.getValues()) { //error, cannot convert element type Object to FieldValue
}
}
有人可以解释一下为什么会这样吗?
谢谢