私は次のクラスを持っています:
public class Person {
private String id;
private Score[] scores;
public Person() {
}
//getters and setters etc
}
すべてを削除するにはどうすればよいですか Score
このオブジェクトのスコア配列内のオブジェクト?
回答:
回答№1の場合は7配列を再初期化します new Score[size]
または使用 Arrays.fill
方法。
回答№2については4
私は使用する Arrays.fill
配列をヌルで埋めます。
Arrays.fill(scores, null);
回答№3の場合は1
まさにあなたが望むものに応じて異なるオプションがあります。最も簡単な方法の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]
回答№4の場合は0
そこには
配列。fill(myArray、null); 独自に行うこととは異なります(すべての要素をループしてnullに設定します)。これはネイティブではなく、これを実行する純粋なJavaコードですが、ライブラリです多分それが機能する場合」はあなたが意味したものです。
これはもちろん、「サイズを変更することはできません配列(ゼロ)、それが「空」の場合。配列のサイズは固定されているため、「新しい」配列の次元を変えたい場合は、参照を新しい配列に再割り当てするのが最善です。他の答えは示しています。さらに良いことに、可変サイズを持つことができるArrayListのようなListタイプを使用します。