GeeCON Prague 2014*
The moose likes Programmer Certification (SCJP/OCPJP) and the fly likes K &B Erratum? Regarding 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 "K &B Erratum? Regarding generics" Watch "K &B Erratum? Regarding generics" New topic
Author

K &B Erratum? Regarding generics

babu sharath
Ranch Hand

Joined: Jul 06, 2006
Posts: 42
Given code :
import java.util.*;
2. public class Fruits {
3. public static void main(String [] args) {
4. Set c1 = new TreeSet();
5. Set o1 = new TreeSet();
6. bite(c1);
7. bite(o1);
8. }
9. // insert code here
10. }
11. class Citrus { }
12. class Orange extends Citrus { }

Which, inserted independently at line 9, will compile? (Choose all that apply.)

A). public static void bite(Set<?> s) { }
B). public static void bite(Set<Object> s) { }
C). public static void bite(Set<Citrus> s) { }
D). public static void bite(Set<? super Citrus> s) { }
E). public static void bite(Set<? super Orange> s) { }
F). public static void bite(Set<? extends Citrus> s) { }
G). Because of other errors in the code, none of these will compile.

Answer is : A,E,F
I know A is correct .
why E & F are correct ??


(edited topic to indicate K&B 5.0 erratum)
[ July 25, 2006: Message edited by: Barry Gaunt ]
Barry Gaunt
Ranch Hand

Joined: Aug 03, 2002
Posts: 7729
Use this:


Check out this past topic (about half way down)

Hopefully the K&B errata includes this by now
[ July 25, 2006: Message edited by: Barry Gaunt ]

Ask a Meaningful Question and HowToAskQuestionsOnJavaRanch
Getting someone to think and try something out is much more useful than just telling them the answer.
 
GeeCON Prague 2014
 
subject: K &B Erratum? Regarding generics