public abstract class A<T> {
public static void test(A i) { for (String s : i.get()) {} }
public abstract Iterable<String> get();
}
Why for the code above I get:
incompatible types
required: String
found: Object
But if I will change argument of test
method to A<Object>
, it will compile OK? Why undefined generic parameter of variable drops explicit generic parameter of it's method's return type?