Schlagwort-Archive: Serializable

Kuriositäten der Notationen

Kuriositäten der Notationen

Heute habe ich eine interessante Kuriosität entdeckt, die auf den ersten Blick irritiert.

Ich erstellte eine ArrayList und befüllte die inline mit Werten:

ArrayList<String> list = new ArrayList<String>() {{ add("A"); add("B"); add("C"); }};

Danach habe ich versucht die ArrayList zu serialisieren. ArrayList implementiert bekanntlich Interface Serializable.
SerializationUtils.serialize(list);
Dabei flog eine java.io.NotSerializableException.

Ich habe die ArrayList auf eine konventionelle Weise erstellt und mit werten befüllt:
ArrayList list1 = new ArrayList();
list1.add("A");
list1.add("B");
list1.add("C");

Die Serialisierung ging ohne Probleme durch….. Hmmm…..

Die Erklärung ist einfach: die erste Variante erzeugt keine ArrayList, sondern eine anonyme Subklasse von ArrayList und diese ist nicht serialisierbar.