In Java, le interfacce Collection non si estendono Serializable per diversi buoni motivi. Inoltre, le implementazioni più comuni di queste interfacce implementano Serializable.Java: come garantire le collezioni serializzabili
Quindi gli oggetti che implementano una delle interfacce Collection sono serializzabili se l'implementazione stessa è serializzabile (che di solito è il caso) e se gli oggetti nella raccolta sono tutti serializzabili.
Ma come posso garantire che queste due condizioni siano soddisfatte? Non voglio incappare in un errore di runtime dal momento che il compilatore può verificare queste condizioni. Sto pensando di qualche interfaccia evidente come (vetrina per la lista-interfaccia):
public interface SerializableList<T extends Serializable> extends Serializable, List<T> {}
Mi chiedo se nessun altro si trova ad affrontare questo problema e si avvicinò con questa soluzione facile. Fino ad ora non ero in grado di trovare alcuna soluzione o discussione su questo, il che mi fa dubitare della mia idea.
Puoi fare il tuo riferimento a 'List' come -' List ', se comprendo correttamente la tua domanda. Non è necessario implementare la propria interfaccia. –
Il compilatore non può verificarlo. Ogni classe che implementa Serializable potrebbe contenere un campo non temporaneo, non serializzabile, che porterebbe a un'eccezione di runtime. E una ArrayList
@RohitJain: la proposta garantisce solo che gli oggetti nell'elenco siano serializzabili, ma non l'implementazione Elenco stessa. – MrD