Could anyone please let me know why this doesn't work?
List<? super Person> list = new ArrayList<>();
list.add(new Object());
My understanding is that the variable list can hold any value as long as it is a superclass of Person. Object is definitely a superclass of Person, then why it can't be added to the list?