Odczytuje z pliku serlializowane dane zapisujac je od razu do pola obiektu i wszystko jest ok:
private void readFromFile(String filename) {
...
this.something = (Map<String, List<CustomClass>>) ois.readObject();
...
}
Chciałbym tę metodę uogólnić i rzutowanie robić przy wywołaniu metody:
private Object readFromFile(String filename) {
...
Object something = ois.readObject();
...
return something;
}
,czyli tak:
Map<String, List<CustomClass>> data = (Map<String, List<CustomClass>>) readFromFile("filename");
Jednak nie działa to dla serializowanych danych w kolekcji: Map<String, List<CustomClass>>, a działa dla kolekcji Map<String, CustomClass>.
Próbowałem też z metodami z typami generycznymi i to na różne sposoby. Nie działa, wychodzi "ClassCastException".
No właśnie, chciałem sprawdzić co dokładnie wyskakuje przy wyjątku i.... dokładnie ten sam kod na innym systemie działa.
Nic już nie rozumiem ;(