У меня проблема с моим списком, в котором хранится история.
Обычно у меня есть матрица ячеек, и каждая ячейка имеет состояние, выплату и историю. История - это объект, который содержит проверяемые char state
и double payout
, но у меня много проблем со ссылками. Пока я пытаюсь скопировать всю историю, создается ссылка, с которой я не знаю, как обрабатывать. Я пытался всеми возможными способами избавиться от этих ссылок):
public class Cell {
public char state;
public double payout;
public class History{
public char state='E';
public double result;
public History (char state, double result)
{
this.state=state;
this.result=result;
}
public History (History history)
{
this.state=history.state;
this.result=history.result;
}
public char getState()
{
return state;
}
public double getResult()
{
return result;
}
}
public LinkedList<History> history;
public Cell (Settings settings)
{
this.state=settings.state;
this.payout=0;
history= new LinkedList<History>();
}
public void copyCell ( Cell dest, Cell temp)
{
dest.state=temp.state;
dest.payout=temp.payout;
dest.history= new LinkedList<History>();
for (int i =0; i<temp.history.size(); i++)
{
double result1=temp.history.get(i).result;
char state1=temp.history.get(i).state;
dest.history.add(new History (state1,result1));
}
}
}
Что я делаю не так? Думаю, я не знаю разницы между копированием проверяемых объектов и ссылкой на объект. Может кто-нибудь мне это объяснить?