Salut,
je bute sur un problème depuis quelques temps, peut-être que quelqu'un aura la réponse ?
J'initialise un TreeMap dans une classe Test implémentant Serializable :
RuledBaseCollator n'implémente pas Serializable donc je ne peux pas sérialiser la classe Test (NotSerializableException). J'étend donc RuleBasedCollator :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 this.items = new TreeMap(Collator.getInstance(Locale.FRENCH));
Cette fois la sérialisation marche mais la lecture du fichier plante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 public class TestRuleBasedCollatorextends RuleBasedCollator implements Serializable { public TestRuleBasedCollator() throws Exception { super(((RuleBasedCollator)Collator.getInstance(Locale.FRENCH)).getRules()); }
Apparemment il n'y a pas moyen de supprimer le Collator d'un TreeMap.
Code : Sélectionner tout - Visualiser dans une fenêtre à part java.io.InvalidClassException: TestRuleBasedCollator; no valid constructor
Il n'y a pas non plus de fonction pour trier un TreeMap en utilisant un Collator. Pensez-vous que les seules solutions sont de créer une fonction qui triera le TreeMap ou alors de créer un nouveau TreeMap avant la sérialisation ?
Merci d'avance.
Code : Sélectionner tout - Visualiser dans une fenêtre à part this.items = new TreeMap(this.items);
Bye ^^
Partager