Win a copy of Programmer's Guide to Java SE 8 Oracle Certified Associate (OCA) this week in the OCAJP forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

About Chapter 7: Generics and Collections

 
Zhao zhenhua
Ranch Hand
Posts: 37
Firefox Browser IntelliJ IDE Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
In self test number 16th. I find a problem,it seems that every answer is wrong!!,why?

16.Given a method declared as:

public static <E extends Number> List<? super E> process(List<E> nums)

A programmer wants to use this method like this:

// INSERT DECLARATIONS HERE
output = process(input);
Which pairs of declarations could be placed at // INSERT DECLARATIONS HERE to allow the code to compile? (Choose all that apply.)

A. ArrayList<Integer> input = null;

ArrayList<Integer> output = null;

B ArrayList<Integer> input = null;

List<Integer> output = null;

c ArrayList<Integer> input = null;

List<Number> output = null;

d List<Number> input = null;

ArrayList<Integer> output = null;

e List<Number> input = null;

List<Number> output = null;

f List<Integer> input = null;

List<Integer> output = null;

g None of the above.

I try out every answer,but it compile wrong! Who can tell me why and explain how this work?

The compiler say:"Type mismatch: cannot convert from List<capture-of ? super Integer> to List<Number>" WHY
What it means "capture-of ?".I used following codes in eclipse3.3.

[ June 03, 2007: Message edited by: Zhao zhenhua ]
 
Chandra Bhatt
Ranch Hand
Posts: 1710
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
See the K&B Errata. Link is available on the top of the SCJP forum.

The declared method is:


public static <E extends Number> List<E> process(List<E> nums)


Thanks,
 
Zhao zhenhua
Ranch Hand
Posts: 37
Firefox Browser IntelliJ IDE Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
If the method just is what you say,the answer is right ,Thank you Chandra
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic