我有以下两个界面:
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();
}
然后我有了一个包含此类Field类型列表的类。 如果我尝试以这种方式进行迭代,则getValues()无法推断FieldValue类型,而只能推断Object。
for (Field f : myclass.getFields()) {
for(FieldValue fv : f.getValues()) { //error, cannot convert element type Object to FieldValue
}
}
有人可以解释一下为什么会这样吗?
谢谢