是否可以临时存储对象?
我打算做的是暂时存储一个对象,删除原始文件然后将临时对象放到别处?
因此,这给人的印象是我有效地“移动”了对象。
非常感谢,
答案 0 :(得分:1)
Player tempPlayer = new Player();
tempPlayer.setValueA() = originalPlayer.getValueA();
// copy all values this way
team.remove(originalPlayer);
// more code
team2.add(tempPlayer);
这个答案看起来不错吗?
答案 1 :(得分:0)
如果我理解正确,你有两个清单:
ArrayList<Player> team1, team2;
您希望将玩家从team1
移至team2
。
您似乎想要向新团队添加副本,而不是原始副本。略有改变:
有两种方法可以做到这一点,简短方法和明确方式。无论哪种方式,你都需要玩家的索引。你可能想要明确的方式:
Player oldPlayer = team1.remove(playerIndex);
Player newPlayer = oldPlayer.clone();
team2.add(newPlayer);
作为参考,更快的方法是:
team2.add(team1.remove(playerIndex).clone());
虽然这确实需要您实现Cloneable
接口。
答案 2 :(得分:0)
这假设您打算从A队移动到B队的队员是A队中的 k 第(th)队员(从0开始计算,即第一名队员k = 0等):
ArrayList<Player> teamA = ... // contains player p
ArrayList<Player> teamB = ... // does not contain player p
Player p = teamA.get(k);
teamB.add(p);
teamA.remove(p); // Note: you can also use index
根据具体情况,可能还有其他方法可以访问您打算移动的播放器。有关更多可用方法,请参阅ArrayList。
答案 3 :(得分:0)