Why does List<? extends Fruit> not accept new Apple() when calling add()?

Prepare for your Java exam with our ultimate quiz based on 'Thinking in Java'. Engage with expertly crafted questions that enhance your learning process. Perfect for Java enthusiasts looking to solidify their knowledge!

List<? extends Fruit> means that the elements in the list can be any subtype of Fruit. When calling add(), the compiler cannot determine which specific subtype is expected in the list, so it will not allow adding a new Apple object. Option A is incorrect because the list is not limited to only Fruit objects, but rather any subtype of Fruit. Option C is incorrect because Apple is a subtype of Fruit. Option D is incorrect because any non-null object can be added to the list, not just null.

Subscribe

Get the latest from Examzify

You can unsubscribe at any time. Read our privacy policy