我有以下的类:
public class Person {
private String id;
private Score[] scores;
public Person() {
}
//getters and setters etc
}
如何最好地删除此对象中得分数组中所有的Score
对象?
new Score[size]
或者使用Arrays.fill
方法。scores = new Score[scores.length]
is more verbose and less descriptive than Arrays.fill(scores, null)
- Michael根据您的需求,有不同的选项。其中最简单的一种是将数组初始化为新数组:
int[] scores = new Scores[]{1,2,3};
System.out.println("scores before: " + Arrays.toString(scores));
scores = new Scores[scores.length];
System.out.println("scores after: " + Arrays.toString(scores));
输出:
scores before: [1, 2, 3]
scores after: [0, 0, 0]
有
Arrays.fill(myArray, null); 这并不比你自己做的任何事情有什么不同(它只是循环遍历每个元素并将其设置为null)。它不是本地的,因为它是执行此操作的纯Java代码,但如果可能的话,它是一个库函数。
当然,这并不允许您调整数组的大小(为零),如果这就是您所说的“空”。数组大小是固定的,因此如果您希望“新”数组具有不同的维度,则最好像其他答案所示那样重新分配引用到新数组。更好的方法是使用List类型,如ArrayList,它可以具有可变大小。
List<Score>
? - bradimusscores=new Score[];
。 - XtremeBaumer