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.

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());
  }
- ensuite, je veux affecter des valeurs à ma propriété :

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];          
   }
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".

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é :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
Projet [] CastProjetType(){
   return (Projet []) PA.toArray() ;
  }
Et là j'ai droit à un ClassCastException.

J'ai la désagéable impression de ne pas bien comprendre ce que je fais Si quelqu'un pouvait m'expliquer simplement la méthode à suivre pour initialiser mes n objets, ça me dépanerait bien