Reading the Java online tutorial I haven't understand anything about wildcard capture. For example:
import java.util.List;
public class WildcardError {
void foo(List<?> i) {
i.set(0, i.get(0));
}
}
Why the compiler can't retain the assignment safe?
It knows that, by executing for instance, the method with an Integer List, it gets from i.get an Integer value. So it try to set an Integer value at index 0 to the same Integer list (i).
So, what's wrong? Why write Wildcard helper?