Я создал класс хранения и использую в качестве типа данных для моего массива / связанного списка.
private LinkedList bid_history;
Я инициализировал это в моей конструкции как
bid_history=new LinkedList <Bid_History> ();
Я добавляю новые элементы в список, используя команду add, как показано ниже
bid_history.add(new Bid_History(bid_count,unit_price,bid_success));
После 'n' итераций я проверил содержимое списка и обнаружил, что список содержит 'n' элементов, но они были одинаковыми. последний добавленный элемент занял весь список. Это как если бы я добавил ссылочную переменную в список?
Есть идеи, где я мог ошибиться? Я также использовал arraylist, та же проблема. Я предполагаю, что я сделал что-то не так с указателями доступа! но у меня нет идей .....
---- Добавлено -------
Я использую рекурсивную функцию
bid()
{
int bid,quantity;
bid_success=false;
bid_count++;
System.out.println("Starting to bid, Bid ID:"+bid_count);
quantity=(int)(rated_power*duration/60);
if(bid_history.isEmpty())
{
unit_price=10;
}
else
{
unit_price++;
}
bid=unit_price*quantity;
//Sending the calculated bid
send_res(unit_price,quantity,500);
long startTimeMs = System.currentTimeMillis( );
System.out.println("Time:"+startTimeMs);
while(!(System.currentTimeMillis( )>(startTimeMs+2000)));
System.out.println("Time at end:"+System.currentTimeMillis( ));
bid_history.add(new Bid_History(bid_count,unit_price,bid_success));
if(bid_success!=true)
{
bid();
}
}
код печати выглядит следующим образом
int count=0,size;
size=bid_history.size();
while(count<size)
System.out.println(((Bid_History)bid_history.get(count++)).getBid_amount());