File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Programmer Certification (SCJP/OCPJP) and the fly likes Doubt in Generics Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Certification » Programmer Certification (SCJP/OCPJP)
Bookmark "Doubt in Generics" Watch "Doubt in Generics" New topic

Doubt in Generics

Lata Bagga
Ranch Hand

Joined: Jun 13, 2007
Posts: 35
Hello Friends,

I have doubt in the following question which is Q no. 16(Chapter 7) from KS & BB of Generics and Collection:

I am not able to understand why option C is not correct. As the return type is List<? super E> and if E is an Integer then List<Number> should work for it.
Can anyone help me with it?

Vitor Isaia

Joined: Mar 07, 2005
Posts: 12
Both sides (reference and object) need to be of the exaclty same generic type... even if one of the types extends the other one...

So "C" is wrong because the type is different... Number and Integer.
You can't have something like this:
List<Number> l = new ArrayList<Integer>();


ahmed yehia
Ranch Hand

Joined: Apr 22, 2006
Posts: 424
This is an errata question, the correct method signature is:

public static <E extends Number> List<E> process(List<E> nums)
I agree. Here's the link:
subject: Doubt in Generics
It's not a secret anymore!