Why generic type is not applicable for argument extends super class for both?
You can create a List<T> list = new ArrayList<T>(); directly, this can allow all subtypes of T into the list. This is actually little difficult to understand. when you declare it as List<? extends T> list = … It means that it can allow any unknown subtypes of T into the list. But, from that … Read more