我有以下课程:
public class Person {
private String id;
private Score[] scores;
public Person() {
}
//getters and setters etc
}
如何最好地删除此对象的score数组中的所有Score
个对象?
答案 0 :(得分:7)
重新初始化数组new Score[size]
或使用Arrays.fill
方法。
答案 1 :(得分:4)
我使用Arrays.fill
并用空值填充数组。
Arrays.fill(scores, null);
答案 2 :(得分:1)
根据您的具体需要,有不同的选项。最简单的方法之一是将数组初始化为新数组:
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]
答案 3 :(得分:0)
有
Arrays.fill(myArray,null); 并不是说它与你自己做的有什么不同(它只是循环遍历每个元素并将其设置为null)。它不是原生的,它是执行此操作的纯Java代码,但它是一个库函数,如果这可能是你的意思。
这当然不允许你调整数组的大小(为零),如果你的意思是“空”。数组大小是固定的,因此如果您希望“新”数组具有不同的维度,则最好只是将引用重新分配给新数组,如其他答案所示。更好的是,使用类似ArrayList的List类型,它可以有可变的大小。