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 :

Java et foreach


Sujet :

Langage Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2003
    Messages
    191
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 191
    Par défaut Java et foreach
    Bonjour à tous,

    Voilà j'utiliser le SDK 1.5 et je tente d'utiliser en vain la boucle for du type:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
                ArrayList _lPers = new ArrayList();
     
                Personne P = new Personne("Test");
     
                _lPers.add(P);
     
                for (Personne Pers : _lPers) {
     
                      System.out.println(Pers.getNom());
                }
    Pouvez-vous me dire ce qui ne va pas dans ce bout de code?

    je me ramasse l'erreur suivante:
    C:\Documents and Settings\Royd938\Bureau\test\src\test\Main.java:45: incompatible types
    found : java.lang.Object
    required: test.Personne
    for (Personne Pers : _lPers) {
    Note: C:\Documents and Settings\Royd938\Bureau\test\src\test\Main.java uses unchecked or unsafe operations.
    Note: Recompile with -Xlint:unchecked for details.
    1 error
    Merci d'avance...

  2. #2
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,


    Tu utilises une liste non-typé, et donc le foreach doit s'effectuer sur des Object et tu dois faire le cast manuellement, :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for (Object object : _lPers) {
             Personne personne = (Personne) object;
             System.out.println(personne.getNom());
    }

    Afin de pouvoir utiliser le foreach typé, il faut donc que la liste soit typé, par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    List<Personne> personnes = new ArrayList<Personne>();
    a++

    PS : en Java, la première lettre des noms de variables est généralement une minuscule...

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2003
    Messages
    191
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 191
    Par défaut
    ah d'accord, je comprends mieux, je viens du C# et en C#, il n'y a pas ce problème...

    Merci beaucoup

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 9
    Par défaut
    C# doit être mois rigoureux alors... ou alors plus souple, ce qui peut parfois être embêtant pour débugguer des erreurs de cast.

Discussions similaires

  1. Réponses: 6
    Dernier message: 05/11/2014, 11h23
  2. le Java est la continuité du C++ ???
    Par Vincent PETIT dans le forum Débats sur le développement - Le Best Of
    Réponses: 33
    Dernier message: 25/08/2005, 20h17
  3. directx et java?? possible??
    Par jiraiya dans le forum DirectX
    Réponses: 3
    Dernier message: 09/07/2002, 19h55
  4. webcam : lire sur un port usb en c/c++ ou java. sous win. ?
    Par flo007 dans le forum Choisir un environnement de développement
    Réponses: 2
    Dernier message: 24/05/2002, 23h24
  5. Service de nommage java C++
    Par Anonymous dans le forum CORBA
    Réponses: 3
    Dernier message: 15/04/2002, 12h48

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