Hi. The following code is taken from the javabeat mock exams.
Given:
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.
According to me A,B,C,D,E,F are all correct
But the answer mentioned is A,E,F are correct. Could anyone please clarify?