Konstruktor kopiujacy

Konstruktor kopiujacy
C9
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 31
0

Witam. Mam pytanie. Mianowicie w klasie Obraz posiadam prywatne pole rozmiar oraz List trojkat typu ArrayList. Wiem jak stworzyć konstruktor kopiujacy dla stałych ale nie mam zielonego pojęcia, jak się odwołać do tablicy.

Kopiuj
public Obraz(Obraz o){
rozmiar=o.rozmiar;
for(int i=0;i<trojkat.size();i++)
trojkat.get(i)=o.trojkat.get(i);}

Opcja przedstawiona powyżej nie działa. Prosiłbym o szybką odpowiedz. Z góry dziekuje :)

UK
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 5
0

Zamień trojkat.size() na o.trojkat.size(), bo potrzebna jest Ci liczba elementów listy z obiektu, który kopiujesz.
Oprócz tego zamień

Kopiuj
trojkat.get(i)=o.trojkat.get(i);

na

Kopiuj
trojkat.add(o.trojkat.get(i));

O to chodzi?

AreQ212
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 29
0

Jeżeli potrzebujesz tylko płytkiej kopii wystarczy zrobić

Kopiuj
this.trojkat = new ArrayList(o.trojkat)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.