Supprimer le Collator d'un TreeMap avant Sérialisation
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 :
Code:
1 2
|
this.items = new TreeMap(Collator.getInstance(Locale.FRENCH)); |
RuledBaseCollator n'implémente pas Serializable donc je ne peux pas sérialiser la classe Test (NotSerializableException). J'étend donc RuleBasedCollator :
Code:
1 2 3 4 5
| public class TestRuleBasedCollatorextends RuleBasedCollator implements Serializable {
public TestRuleBasedCollator() throws Exception {
super(((RuleBasedCollator)Collator.getInstance(Locale.FRENCH)).getRules());
} |
Cette fois la sérialisation marche mais la lecture du fichier plante :
Code:
java.io.InvalidClassException: TestRuleBasedCollator; no valid constructor
Apparemment il n'y a pas moyen de supprimer le Collator d'un TreeMap.
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 ?
Code:
this.items = new TreeMap(this.items);
Merci d'avance.
Bye ^^