Mam wektor z danymi bazowymi. (Wiem, że wektor jest przestarzały ale z DefaultTableModel (DTM) mozna pobrac dane tylko w postaci wektora). Wektor jest przekazywany w konstruktorze do kilku innych obiektów DTM. Oczywiście w ten sposób tworzone są nowe kopie, jednak operują na tej samej pamięci. Modyfikując komórkę w jednej tabeli modyfikowana jest ona we wszystkich oraz w danych bazowych (które nie powinny byc modyfikowane).
Kombinowalem juz oznaczyc wektor z danymi jako final, jednak szybko zorientowalem sie ze nie bedzie mozna zmienic jedynie wskazywanego obiektu. Probowalem z funkcja clone(), oraz przekazywaniem wektora w postaci tablicy (gdzies tak kiedys wyczytalem), no ale ciagle problem wystepuje.
W skrócie: mam wektor danych który nie może być modyfikowany, a jest przekazywany do konstruktorów DTM. Jak to wykonać aby każdy DTM posiadał swój własny wektor danych a nie wskazywał na dane bazowe? W C++ byłoby to proste, a tutaj nie mogę się odnaleźć.
EDIT: Hmm w wektorze trzymam obiekty String, widze w dokumentacji iz nie implementuja one interfejsu Clonable, zatem jedynym wyjsciem jest serializacja i deserializacja wektora aby uzyskac jego kopie?