Salve a tutti! Ho una classe che contiene un ArrayList di oggetti di un'altra classe, in particolare si tratta di una classe che deve contenere delle statistiche relative a dei cicli che ho eseguito.
Il problema è che quando riempio l'array list con oggetti diversi, in realtà alla fine risultano essere tutti uguali! Provo a spiegarmi con un abbozzo di codice:
Quello che faccio e che mi dà problemi è una cosa di questo tipo:codice:public class Stat { ArrayList<CycleStat> cycles; public Stat(){ cycles = new ArrayList<>(); } public void addCycleStat(CycleStat c){ cycles.add(c); }
Alla fine del loop tutti gli oggetti che ho aggiunto sono uguali. Pensavo di adottare il metodo clone per ottenere una copia dell'oggetto e non l'oggetto vero e proprio, ma ho qualche perplessità. C'è qualche altro modo per risolvere?codice:Stat s = new Stat(); { //loop CycleStats c = new CycleStats(); //...// s.addCycleStat(c); } //fine loop
Grazie in anticipo