Bonjour à tous.

J'avance doucement mais sûrement dans mon application.
Jusque là le peu que j'ai fait fonctionne: ajouter une personne à une liste, enregistrer,...
Je code l'inverse: enlever une personne à une liste précise.
Dans l'idée je sais ce qu'il faut faire.
Je vais donc dans ma classe "Classe" pour ajouter la méthode qui permettra de retirer un élève de sa classe.
Voici ma classe "Classe:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 
public class Classe implements Serializable {
  public String classe;
  private TreeMap<String,Eleve> listeEleves;
 
     public Classe(){
     listeEleves = new TreeMap<>();
     }
 
     public void ajouterEleve(String n, String p, String c){
       Eleve nouveau = new Eleve(n,p,c);
       String cle = creerUneCle(n,p,c);
       if (listeEleves.get(cle)==null) listeEleves.put(cle,nouveau);
       else {
           JOptionPane jop_EleveExiste = new JOptionPane();
           jop_EleveExiste.showMessageDialog(null, "Cet élève est déjà dans la liste!","ATTENTION", JOptionPane.WARNING_MESSAGE);
       }
     }
 
    private String creerUneCle(String n, String p, String c){
      return n+p+c;
  }
 
     public String quelleClasse(){
         return classe;
     }
 
     public TreeMap<String,Eleve> quelleListe(){
         return listeEleves;
     }
}
Et voici la méthode que je désire créer:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
Public void retirerEleve(String n, String p, String c){
//Traitement...
}
J'ai eu droit à une gros message un peu incompréhensible.
Exception in thread "main" java.io.InvalidClassException: Evalcomp.Classe; local class incompatible: stream classdesc serialVersionUID = 9039132454754699755, local class serialVersionUID = 2724284564699585259
at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:604)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1601)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1514)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1750)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
at java.util.HashMap.readObject(HashMap.java:1155)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1004)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1872)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1777)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1970)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1894)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1777)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
at Evalcomp.FluxListeClasses.lire(FluxListeClasses.java:33)
at Evalcomp.Accueil.chargement_Données(Accueil.java:275)
at Evalcomp.Accueil.<init>(Accueil.java:102)
at Evalcomp.EvalComp.main(EvalComp.java:11)
Java Result: 1
GÉNÉRATION TERMINÉE (durée totale* 1 seconde)
J'ai enlevé tout traitement: même problème.
J'ai créé une méthode identique dans le traitement à une autre méthode déjà crée, mais en changeant bien sûr le nom:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
public String quelleClasseBis(){
         return classe;
     }
Même problème.
En gros je n'arrive plus à ajouter de méthode.
Si je supprime ces tentatives, tout fonctionne.
Je ne comprends l'erreur: pourquoi même en ne mettant rien dedans cela pose un problème?

Merci.