IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

[SCJP] Generics & wildcard


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Inscrit en
    Juin 2003
    Messages
    292
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 292
    Par défaut [SCJP] Generics & wildcard
    Bonjour,

    Je suis entrain de faire quelques tests pour la SCJP et la je suis au chaptire Generics, du livre SCJP for JAva 5 Sutdy Guide bu Kathy Sierra & Bert Bates.

    Ci dessous la question, les choix possibles et la reponse:

    Questions :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    Given a method declared as:
    public static <E extends Number> List<? super E> process(List<E> nums)
    A programmer wants to use this method like this:
    // INSERT DECLARATIONS HERE
    output = process(input);
    Which pairs of declarations could be placed at // INSERT DECLARATIONS HERE to allow
    the code to compile? (Choose all that apply.)
    A. ArrayList<Integer> input = null;
    ArrayList<Integer> output = null;
    B. ArrayList<Integer> input = null;
    List<Integer> output = null;
    C. ArrayList<Integer> input = null;
    List<Number> output = null;
    D. List<Number> input = null;
    ArrayList<Integer> output = null;
    E. List<Number> input = null;
    List<Number> output = null;
    F. List<Integer> input = null;
    List<Integer> output = null;
    G. None of the above.
    Ok Reflechissez un Instant la...
    Encore un peu...

    Ok Voila la reponse du livre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Answer:
    ® 3 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.
    ok c un peu tricky mais j ai compris les reponses, mais voilamon problem:
    j ai voulu tester les examples en ecrivant un bout de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    public static void main(String [] args){
    		ArrayList<Integer> input = null;
    		List<Integer> output = null;
    		output = process(input);
    		}
    	public static <E extends Number> List<? super E> process(List<E> nums){
    		List<E> test = new ArrayList<E>();
    		return test;
    	}
    et la quand j'ai cette erruer de compilation a la ligne output = process(input)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Severity and Description	Path	Resource	Location	Creation Time	Id
    Type mismatch: cannot convert from List<String> to ArrayList<String>	Java_Certifiacation	GenericsTestEx.java	line 6	1186410140671	21008
    Si vous pouvez m'eclairer SVP, Je ne comprend pas l erruer, ou est ce que je me suis trompe et je ne crois pas vraiment que Kathy Sierra and Bert Bates se sont trompes,

    Merci pour tout....

  2. #2
    Membre expérimenté
    Inscrit en
    Juin 2003
    Messages
    292
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 292
    Par défaut
    bon aparement personne la n'est interesse par SCJP?
    et dire que c est un forum de developmenet JAVA???

  3. #3
    Membre expérimenté
    Inscrit en
    Juin 2003
    Messages
    292
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 292
    Par défaut
    non rien? pas de suggestions?
    Moderateurs Java, ils sont ou?

  4. #4
    Membre expérimenté
    Inscrit en
    Juin 2003
    Messages
    292
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 292
    Par défaut
    ok je vais voir les javaranh alors

  5. #5
    Membre expérimenté
    Inscrit en
    Juin 2003
    Messages
    292
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 292
    Par défaut
    desole pour le derangement.
    FYI c etait une error dans le livre:
    voila l errata:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    620....bug.......Q-16: method declaration s/b:
    & 634
             public static <E extends Number> List<E> process(List<E> nums)
    Merci pour vos nombreuses reponses, j avais du mal a les lire toutes...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Generics] Pb avec les Wildcards lors d'un héritage
    Par manube dans le forum Langage
    Réponses: 2
    Dernier message: 28/01/2008, 14h50
  2. [Generics] Classe générique
    Par norkius dans le forum Langage
    Réponses: 4
    Dernier message: 29/10/2004, 15h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo