Dire che sto creando una libreria che fornisce tra le altre cose una classe di coda di priorità. L'utente crea un'istanza e implementa un'interfaccia Comparator che viene quindi passata delicatamente alla coda di priorità. Voglio:Java "serializzazione del metodo" della classe anonima
1.concedere all'utente la possibilità di definire la classe comparatore facilmente - mediante l'attuazione di esso come una classe anonima, proprio come in questo esempio suggerisce:
PriorityQueue<int> pq = new PriorityQueue<int>();
pq.setComparator(new Comparator<int>() {
@Override
public int compare(int i1, int i2){
if(i1 < i2) return -1;
else if(i1 > i2) return 1;
else return 0;
}
};);
concedere all'utente la possibilità di serializzare e deserializzare la coda di priorità LUNGO con il suo comparatore collegato.
3.utilizzare solo JDK per raggiungere questo obiettivo, senza altre librerie esterne
Quale approccio sarebbe meglio per raggiungere questo obiettivo?
Attualmente sto avendo problemi di deserializzazione della classe Comparator, in particolare creando un'istanza di essa poiché è privata all'interno della classe che lo ha creato (che "lo possiede") e inoltre non ha un costruttore nullo (questo non è davvero un grosso problema dal momento che posso usare i costruttori disponibili che espone).
Grazie per eventuali suggerimenti in anticipo.
grazie JB, ho provato a trovare un altro modo per farlo poiché presenta alcuni inconvenienti ... purtroppo non l'ho fatto e per ora rimarrò con i vostri suggerimenti, evviva –