Ciao,
in C++ so che ci sono i copyconstructor. In Java da quanto ne so, no.
Vi posto un semplice codice:
codice:
Award aw = new Award("path");
Award b = aw;
b.setAwardPath("ciao");
System.out.println(aw.getAwardPath());
L'output di ciò ovviamente è "ciao", dato che sia b che aw puntano allo stesso oggetto. Come faccio in Java a fare una copia (deep copy) di un oggetto? In questo caso, visto che sono stringhe potrei definire un costruttore del tipo:
codice:
puclic Award(Award anAward){
this.award = anAward.getPath();
}
ed usarlo:
codice:
Award aw = new Award("path");
Award b = new Award(aw);
b.setAwardPath("ciao");
System.out.println(aw.getAwardPath());
in questo caso l'output sarebbe "path".
Ma se ho un oggetto complesso? Esiste forse qualche classe o methodo?