Given:
11. // insert code here
12. private N min, max;
13. public N getMin() { return min; }
14. public N getMax() { return max; }
15. public void add(N added) {
16. if (min == null || added.doubleValue() < min.doubleValue())
17. min = added;
18. if (max == null || added.doubleValue() > max.doubleValue())
19. max = added;
20. }
21. }
Which two, inserted at line 11, will allow the code to compile? (Choose two.)
A.
public class MinMax<?> {
B.
public class MinMax<? extends Number> {
C.
public class MinMax<N extends Object> {
D.
public class MinMax<N extends Number> {
E.
public class MinMax<? extends Object> {
F.
public class MinMax<N extends Integer> {
N is a type, which is used in the whole method, then all answers with wildcard ? is false.
variable is in type N, has a method doubleValue, so just only 2 classes Number and Integer have it. –> D and F are correct!