0

我有这两个接口:

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
            }
        }

有人可以解释一下为什么会这样吗?

谢谢

4

0 回答 0