Nadpisanie metody writeObject() i readObject()

0

Witam,
mam taki problem, chciałbym w czasie serializacji jednej klasy pominąć jakies atrybuty tej klasy, w jaki sposób można nadpisac klase writeObject() żeby je pomijać w czasie serializacji ?

Wiem że można to zrobić przy pomocy "transient", ale nie chce w ten sposób.

1

Musisz w obiekcie który ma być serializowany nadpisać te dwie metody.

private void writeObject(ObjectOutputStream out) throws IOException;
private void readObject(ObjectInputStream in) throws IOException, 
0

no tylko nie chciałbym pisać

oos.writeInt(x);
oos.writeInt(y);
oos.writeInt(z);

dla wszystkich obiektów, tylko chiałbym wywołac domyslnego writeObject() z pominieciem kilku atrybutów. Jest taka opcja ?

0

Nie. Albo oznaczasz je jako transient albo zapisujesz pole po polu. Oczywiście możesz zrobić cuda na kiju za pomocą refleksji ale nie będzie to ani czytelne ani wygodne.

1 użytkowników online, w tym zalogowanych: 0, gości: 1