Currently, I'm learning java generics. I have question related to Collections.addAll()
public static <T> boolean addAll(Collection<? super T> c, T... elements) {
boolean result = false;
for (T element : elements)
result |= c.add(element);
return result;
}
Why do we use lower bounded wildcard? can't we remove it?
public static <T> boolean addAll(Collection<T> c, T... elements) {
boolean result = false;
for (T element : elements)
result |= c.add(element);
return result;
}
What is the affect of replacing Collection<? super T>
with Collection<T>
in this case?