Bonjour,
Je suis débutant complet en Java et en orienté objet en général, c'est donc un peu la galère...
Voici ce que je voudrais faire. J'ai une classe Projet, que je vais instancier ProjetCount fois, ProjetCount étant un paramètre envoyé par mon site web. Pour chacun de ces objets, j'aimerais initialiser les valeurs de ses propriétés.
Ce que j'ai fait pour l'instant :
- comme je ne connais pas ProjetCount à l'avance, je mets mes objets dans une ArrayList.
- ensuite, je veux affecter des valeurs à ma propriété :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 ArrayList PA = new ArrayList(10); for (int i = 0; i < ProjetCount; i++) { PA.add(new Projet()); }
Et là apparament mon arrayList ne contient que des objets "génériques", pas des Projet, car on me dit "No accessible field named maPropriété found in type Java.lang.Object".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 for (int i = 0; i < ProjectCount ; i ++) { PA.get(i).maPropriété = MonTableau[i]; }
J'ai cherché un peu sur le forum, et si je comprends bien je dois caster mon type Projet sur mon ArrayList. Alors j'ai fait une fonction qui me ramène un tableau typé :
Et là j'ai droit à un ClassCastException.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Projet [] CastProjetType(){ return (Projet []) PA.toArray() ; }
J'ai la désagéable impression de ne pas bien comprendre ce que je faisSi quelqu'un pouvait m'expliquer simplement la méthode à suivre pour initialiser mes n objets, ça me dépanerait bien
![]()
Partager