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

API standards et tierces Java Discussion :

[ArrayList] Transtypage


Sujet :

API standards et tierces Java

  1. #1
    Membre confirmé Avatar de @yoyo
    Inscrit en
    Mars 2006
    Messages
    119
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 119
    Par défaut [ArrayList] Transtypage
    salut,
    je suis en train d'implementer un programme dans le quel j'ai besoin de ArrayList
    j'ai besoin de stocker dans ma ArrayList un objet de type une certaine classe que j'ai implémenté

    donc a chaq fois je dois faire le transtypage
    g cru comprendre que java 5 me permet d'eviter de faire ce transtypage a chaq fois comment faire?
    Voici ma declaration:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private ArrayList<ServiceAction> listAction;
    merci pour votre attention

  2. #2
    Membre émérite Avatar de Pollux
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    706
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2005
    Messages : 706
    Par défaut
    C'est en effet l'objectifs des Generics.

    Après avoir créé la référence de ton Array il faut l'instancier également avec la syntaxe Generics:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    listAction = new ArrayList<ServiceAction>();
    Ensuite à chaque fois que tu sors ou que tu insères un éléments dans ton Array le compilateur vérifie pour toi si tout est bien légal.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    for(ServiceAction sa : listAction){
      //traitement
    }

  3. #3
    Membre émérite Avatar de yann2
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 897
    Par défaut
    Bonjour

    ça c'est bon

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     private ArrayList<ServiceAction> listAction;
    Et après :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     listAction = new ArrayList<ServiceAction>();
     listAction.add(new ServiceAction());
     ServiceAction sa = listAction.get(0);
     Iterator<ServiceAction> iterActions = listAction.iterator();
     while(iterActions.hasNext()) {
       ServiceAction currentAction = iterActions.next();
     }
      .......

  4. #4
    Membre émérite Avatar de Pollux
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    706
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2005
    Messages : 706
    Par défaut
    Tu n'as plus besoin de l'itérateur... Tu peux passer par la boucle for étendue comme je l'ai mis plus haut

  5. #5
    Membre émérite Avatar de yann2
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 897
    Par défaut
    re,

    Tu n'as plus besoin de l'itérateur... Tu peux passer par la boucle for étendue comme je l'ai mis plus haut
    Ouep encore une habitude du avant 1.5 à perdre

  6. #6
    Membre confirmé Avatar de @yoyo
    Inscrit en
    Mars 2006
    Messages
    119
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 119
    Par défaut
    merci pour vos reponses
    j ai fait la declaration comme je l ai mentionné plus haut et il me sort cette erreur
    <identifier> expected at line 20 (20:20)

  7. #7
    Membre émérite Avatar de yann2
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 897
    Par défaut
    re,

    Si tu as pris mon exemple je viens de voir que j'ai oublié un '>' j'ai éditer.
    Sinon montre le code de la ligne 20.

  8. #8
    Membre confirmé Avatar de @yoyo
    Inscrit en
    Mars 2006
    Messages
    119
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 119
    Par défaut
    le code de la ligne 20 est le suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private ArrayList<ServiceAction> listAction;

  9. #9
    Membre émérite Avatar de yann2
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 897
    Par défaut
    re,

    ce code est bon. Est tu sûr d'utiliser le JDK 1.5 pour compiler. Utilises-tu un IDE ?

  10. #10
    Membre confirmé Avatar de @yoyo
    Inscrit en
    Mars 2006
    Messages
    119
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 119
    Par défaut
    yes j utilise JDK 1.5 et comme outil JBuilder10

  11. #11
    Membre émérite Avatar de yann2
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 897
    Par défaut
    re,

    Peut être qu'il y a une configuration à effectuer (Eclipse compile pour du 1.4 par défaut même avec des JDK 1.5 par exemple).

    Question a poser sur le forum JBuilder

  12. #12
    Membre expérimenté Avatar de @ldehan
    Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 215
    Par défaut
    je ne pense pas qu'un compilateur 1.4 peut te sortir ce genre de ligne :
    <identifier> expected at line 20 (20:20)
    puisque justement il ne connait pas la généricité,je ne vois pas comment il pourrait demander un "identifier".

    C'est donc bien un jdk1.5 qui est utilisé.

    tu pourrais nous mettre l'erreur de compilation complete ?

  13. #13
    Membre confirmé Avatar de @yoyo
    Inscrit en
    Mars 2006
    Messages
    119
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 119
    Par défaut
    bonjour,
    re
    c'est tout ce qui m'affiche comme erreur

  14. #14
    Membre éprouvé
    Avatar de mavina
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2004
    Messages
    1 812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 812
    Par défaut
    Citation Envoyé par @ldehan
    je ne pense pas qu'un compilateur 1.4 peut te sortir ce genre de ligne
    En effet, un compilateur 1.4 sort une erreur sur le > : not a statement...

  15. #15
    Membre éclairé Avatar de Razgriz
    Profil pro
    Professeur / chercheur en informatique / mathématiques
    Inscrit en
    Avril 2006
    Messages
    391
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Professeur / chercheur en informatique / mathématiques

    Informations forums :
    Inscription : Avril 2006
    Messages : 391
    Par défaut
    Oui, c'est pour ça que quand on code avec Eclipse, faut pas oublier de changer la version du compilateur pour utiliser les generics, la boucle for each, les import static, ...

  16. #16
    Membre émérite Avatar de Pollux
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    706
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2005
    Messages : 706
    Par défaut
    Oui mais là il compile bien en 1.5... T'as bien l'import pour ta classe ServiceAction?.. On sait jamais..

  17. #17
    Membre expérimenté Avatar de @ldehan
    Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 215
    Par défaut
    bon on avance plus....

    la ligne 20 contient exactement et uniquement ceci ?

    Citation Envoyé par @yoyo
    le code de la ligne 20 est le suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private ArrayList<ServiceAction> listAction;
    parce que ce code est correct et doit compiler sans erreurs.

  18. #18
    Membre confirmé Avatar de @yoyo
    Inscrit en
    Mars 2006
    Messages
    119
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 119
    Par défaut
    la classe serviceAction est dans le meme package que la classe la ou il y a le problème. et le code de la ligne 20 est uniquement ça

Discussions similaires

  1. [info]ArrayList
    Par schousso dans le forum Collection et Stream
    Réponses: 7
    Dernier message: 06/05/2004, 11h44
  2. [Fichier] Ajout des lignes de doc dans arraylist
    Par 3adoula dans le forum Entrée/Sortie
    Réponses: 9
    Dernier message: 29/04/2004, 22h41
  3. [ STRUTS ][ JSP ][ ArrayList] un lien pour trier
    Par LoulouFifi dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 03/02/2004, 17h24
  4. [C++]closure + héritage + transtypage
    Par JEG dans le forum C++Builder
    Réponses: 11
    Dernier message: 30/01/2004, 14h26
  5. [transtypage]PChar et WideString
    Par rbag dans le forum Bases de données
    Réponses: 2
    Dernier message: 05/09/2002, 20h12

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