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
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 ArrayList<T>(Object[] ddd, String ggg, String nnn) { ... }
Mais le compilateur en temps réel de NetBeans (quel est son véritable nom ?) souligne directement en rouge :
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); ... }
- dans 'ArrayList<T>' :
en y mentionnant "<identifier> expected"public ArrayList<T>(Object[] ddd, String ggg, String nnn)
- rien que 'ArrayList' dans 'ArborExterne' :
en y mentionnantformDonnéesAL = new ArrayList<Object>(ddd, ggg, nnn);
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' ?cannot find symbol
symbol constructor ArrayList(java.lang.Object[], java.lang.String, java.lang.String)
location: class.java.util.ArrayList<java.lang.Object>
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.
Partager