[Java] Serializer un Generics

Serializer un Generics [Java] - Java - Programmation

Marsh Posté le 17-03-2005 à 13:28:03    

Bonjour à tous,
 
Je tente de passer un code du JDK 1.4.2 vers la version 1.5...
Lorsque j'utilisais la version 1.4.2, je sérialisais un ArrayList à l'aide de
 

Code :
  1. ArrayList arProperties = new ArrayList();
  2. FileOutputStream Fichier = new FileOutputStream("Config.cfg" );
  3. ObjectOutputStream oos = new ObjectOutputStream(Fichier);
  4. oos.writeObject(arProperties);


et je relisais l'objet à l'aide de

Code :
  1. FileInputStream Fichier = new FileInputStream("Config.cfg" );
  2. ObjectInputStream ois = new ObjectInputStream(Fichier);
  3. ArrayList arProperties = (ArrayList)ois.readObject();
  4. ois.close();;


 
Depuis le passage à la version 1.5, j'utilise un generics. Mon ArrayList est maintenant déclaré comme ceci.

Code :
  1. ArrayList<ConfigElem> arProperties = new ArrayList<ConfigElem>();


ConfigElem etant une classe que j'ai créé et qui implémente l'interface Serializable.
 
 
Le problème est lorsque je compile, j'obtiens une erreur de type

Code :
  1. Configuration.java:48: warning: [unchecked] unchecked conversion
  2. found   : java.util.ArrayList
  3. required: java.util.ArrayList<Config.ConfigElem>
  4.     ArrayList arProperties = (ArrayList)ois.readObject();


Et si j'essaie de mettre

Code :
  1. ArrayList arProperties = (ArrayList<ConfigElem> )ois.readObject();


j'obtiens ceci

Code :
  1. Configuration.java:48: warning: [unchecked] unchecked cast
  2. found   : java.lang.Object
  3. required: java.util.ArrayList<Config.ConfigElem>
  4.     arProperties = (ArrayList<ConfigElem> )ois.readObject();


 
Quelqu'un pourrait il me venir en aide? Merci :pt1cable:

Reply

Marsh Posté le 17-03-2005 à 13:28:03   

Reply

Marsh Posté le 17-03-2005 à 13:35:57    

oué utilise  

Code :
  1. java.util.ArrayList<Config.ConfigElem> arProperties = (ArrayList<ConfigElem> )ois.readObject()


[:dawa]


---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 17-03-2005 à 13:43:17    

nraynaud a écrit :

oué utilise  

Code :
  1. java.util.ArrayList<Config.ConfigElem> arProperties = (ArrayList<ConfigElem> )ois.readObject()


[:dawa]


 
Comme je l'ai mis dans mon 1er post lorsque j'essaie le code que tu viens de m'indiquer j'obtiens ceci...

Code :
  1. Configuration.java:48: warning: [unchecked] unchecked cast
  2. found   : java.lang.Object
  3. required: java.util.ArrayList<Config.ConfigElem>
  4. arProperties = (ArrayList<ConfigElem> )ois.readObject();


 
Pas d'autres idées?

Reply

Marsh Posté le 17-03-2005 à 13:54:28    

ce n'est pas exactement le code que tu nous a montré.
 
de toutes façons, tu est obligé d'avoir un warning tant que ObjectInputStream ne sera pas générique.


---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 17-03-2005 à 13:58:57    

nraynaud a écrit :

de toutes façons, tu est obligé d'avoir un warning tant que ObjectInputStream ne sera pas générique.


 
Ok merci ca me rassure :)
 
:hello:  

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed