遇到了一个小问题。 我有一个包含4个堆栈的数组,代表4堆卡片。但是当我试图将卡片推入其中一个堆叠时,它会将所有卡片推入其中。我打赌那里只有一些愚蠢的错误,但是我的大脑并不是很活泼。
无论如何代码:
stacks = new CardStack[4]; //array with 4 slots
// Creating 4 stacks and placing each in one slot in the array
for (int i =0; i<4; i++){
CardStack<Card> stack = new CardStack<Card>(i+1);
stacks[i] = stack;
}
如果我尝试
stacks[0].push(currentCard);
似乎是将卡推入所有堆栈,而不仅仅是堆栈数组中索引0处的堆栈。
答案 0 :(得分:1)
看起来在List
中有一个数组或CardStack
字段来存储将作为堆栈结构运行的元素。确保此字段不是static
,否则它将绑定到类,并且该类的所有实例将共享相同的数组List
或任何对象。
更多信息: