public class SuperType<T> {
T var;
public T getVar(){
return var;
}
}
public class SubType extends SuperType<String>{
public static void main(String args[]){
List<SuperType<?>> ls = new ArrayList<SubType>();//(1) throwing an error
List<?> ls1 = new ArrayList<String>();// no error
}
}
I am trying to figure out why an error is being thrown at (1). Can someone explain this?