Bonjour,
Toujours dans les generics!, une question de type certif qui je ne comprends pas:
**********************************************
Given a method declared as
A programmer wants to use this method like this
Code : Sélectionner tout - Visualiser dans une fenêtre à part public static <E extends Number> List<E> process(List<E> nums)
Which pairs of declarations could be placed at // INSERT DECLARATIONS HERE to allow
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 // INSERT DECLARATIONS HERE output = process(input);
the code to compile? (Choose all that apply.)
A.B.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ArrayList<Integer> input = null; ArrayList<Integer> output = null;C.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ArrayList<Integer> input = null; List<Integer> output = null;D.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ArrayList<Integer> input = null; List<Number> output = null;E.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 List<Number> input = null; ArrayList<Integer> output = null;F.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 List<Number> input = null; List<Number> output = null;G. None of the above
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 List<Integer> input = null; List<Integer> output = null;
Réponse:
B, E, and F are correct.
The return type of process is definitely declared as a List, not an ArrayList, so A and D
are wrong. C is wrong because the return type evaluates to List<Integer>, and that can't
be assigned to a variable of type List<Number>. Of course all these would probably cause a
NullPointerException since the variables are still null—but the question only asked us
to get the code to compile. (Objective 6.4)
**********************************************
Pour moi la reponse A est une bonne réponse;Integer est un Number!!
la méthode prend une List<Integer> et donc ArrayList<Integer>(qui est une implementation)
de même pour le type de retour!!
Est c'est une erreur de dans le bouquin?, Merci
Cordialement
Partager