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

Collection et Stream Java Discussion :

Prend l'ArrayList<T> de java.lang; pas la mienne


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    263
    Détails du profil
    Informations personnelles :
    Âge : 74
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 263
    Par défaut Prend l'ArrayList<T> de java.lang; pas la mienne
    Bonjour.

    Dans un premier fichier, appelé 'ArrayList' - non 'ArrayList<T>', j'ai placé la classe générique 'ArrayList<T>' (implémentant Iterable<T>).
    Dans cette classe, j'ai défini un constructeur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        public ArrayList<T>(Object[] ddd, String ggg, String nnn)
        {
                ...
        }
    Dans un second fichier et autre classe ('ArborExterne'), je crée un objet de cette classe 'ArrayList<Object>' générique :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        public ArborExterne(Object[] ddd, String ggg, String nnn)
        {   formDonnéesAL = new ArrayList<Object>(ddd, ggg, nnn);
                ...
        }
    Mais le compilateur en temps réel de NetBeans (quel est son véritable nom ?) souligne directement en rouge :
    - dans 'ArrayList<T>' :
    public ArrayList<T>(Object[] ddd, String ggg, String nnn)
    en y mentionnant "<identifier> expected"

    - rien que 'ArrayList' dans 'ArborExterne' :
    formDonnéesAL = new ArrayList<Object>(ddd, ggg, nnn);
    en y mentionnant
    cannot find symbol
    symbol constructor ArrayList(java.lang.Object[], java.lang.String, java.lang.String)
    location: class.java.util.ArrayList<java.lang.Object>
    Pourquoi va-t-il chercher l''ArrayList' de 'java.lang' et non de ma classe (itérable) expressément faite et mise dans le même package ? Comment lui ordonner de prendre ma classe 'ArrayList' ? Comment spécifier mon package devant 'ArrayList<Object>(ddd, ggg, nnn);' dans 'ArborExterne' ?

    Bizarre : Si j'omets <Object> dans 'public ArborExterne(Object[] ddd, String ggg, String nnn)', le soulignage en rouge de ce constructeur disparaît. Serait-ce parce que le nom de fichier est également 'ArrayList' - c à d pas 'ArrayList<T>' ?

    Merci.

  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,


    Déjà c'est java.util.ArrayList et non pas java.lang.ArrayList.

    Ensuite s'il y a un conflit c'est surement dû au fait que tu importes la classe ou le package.

    Enfin, ton code de déclaration du constructeur est incorrect puisque le <T> est en trop :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     public ArrayList<T>(Object[] ddd, String ggg, String nnn)
    Il faudrait déjà que ta classe compile correctement avant de chercher à l'utiliser...


    a++

    PS : De manière général, il vaut mieux éviter de se poser des conflit de nom avec les principales classes de l'API...

Discussions similaires

  1. java.lang.NullPointerException pour ArrayList
    Par drick35 dans le forum Android
    Réponses: 4
    Dernier message: 11/04/2013, 10h26
  2. Afficher un Arraylist dans un JTable en java
    Par Sinakhine dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 23/10/2012, 17h19
  3. Erreur "java.lang.NullPointerException" dans un ArrayList
    Par AmeniESC dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 21/03/2012, 00h12
  4. java.lang.StackOverflowError lors de l'ajout dans une ArrayList
    Par alys56 dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 02/04/2008, 18h54
  5. Réponses: 4
    Dernier message: 22/01/2004, 08h27

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