I found a mock exam online somewhere supposedly from the upcoming java 5.0 certification book by K&B containing the following question. The correct answers are supposed to be A, E, and F, but I don't see how E or F could be correct since the sets are untyped, and even if they were, then why wouldn't D be correct? And furthermore, although i can beleive that B is wrong, i could use an explanation as to exactly why.
11. Given:
1. import java.util.*; 1. 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.
I think there is mistake in the question. I`ve found the same question, where lines 4. and 5. are slightly different, but given answers are the same -A,E,F.
1. import java.util.*; 2. public class Fruits { 3. public static void main(String [] args) { 4. Set<Citrus> c1 = new TreeSet<Citrus>(); 5. Set<Orange> o1 = new TreeSet<Orange>(); 6. bite(c1); 7. bite(o1); 8. } 9. // insert code here 10. } 11. class Citrus { } 12. class Orange extends Citrus { }
Does it solve the problem?
SCJP 5, SCWCD 1.4, SCBCD 5
Bert Bates
author
Sheriff
Joined: Oct 14, 2002
Posts: 8439
posted
0
Marcin and Steve -
Marcin's got it! We originally had a little disagreement between HTML and the generics < > :roll:
we re-posted the corrected question on the site
thanks!
Eliminate fossil fuel subsidies. (If you're not on the edge, you're taking up too much room.)
Marcus Green
arch rival
Rancher
Joined: Sep 14, 1999
Posts: 2813
posted
0
I think you should look twice at all web based questions with Generics because the angle brackets are going to play merry hell with a lot of mock exams