我正在构建一个纸牌游戏 - 目前正在构建牌组 - 我想知道如何用相同的值复制一个数组。 例如:
Card[] cards = {card.set('A', Card.spades), card.set('2', Card.spades)....};
int n = cards.length;
Card[] cardsDuplicate = new Card[2 * n]
我想要
cardsDuplicate = {card.set('A', Card.spades), card.set('2', Card.spades),card.set('A', Card.spades), card.set('2', Card.spades)};
的值
基本上复制数组第一部分中的任何值,然后在第二部分中重新应用它们。我可以想出使用 for 循环和 if 语句来做到这一点的方法,但我觉得这是极其低效且漫长的。我习惯了Python,这是我第一次使用Java,所以我可能是错的;有什么建议吗?
尝试 System.arraycopy()。
System.arraycopy(cards, 0, cardsDuplicate, 0, n);
我建议使用来自数组的方法copyOf()。这种方法可以给你完全相同的副本,或者完全相同的arr
String[] names = new String[] {"John", "Cecille", "Mark", "Judas", "Theresa"};
/*
- Arrays.copyOf() method takes two params
- 1st is the original array
- 2 is size for your new array
*/
String[] duplicate = Arrays.copyOf(names, names.length+1);