public abstract class A<T> {
public static void test(A i) { for (String s : i.get()) {} }
public abstract Iterable<String> get();
}
为什么上面的代码我得到:
incompatible types
required: String
found: Object
但是,如果我将test
方法的参数更改为A<Object>
,它会编译好吗?为什么变量的未定义泛型参数会丢弃其方法返回类型的显式泛型参数?