以下に図を示します。
コード 1: ArrayList の作成とオブジェクトの追加
ThisClass.classlist = new ArrayList<MyClass>();
ThisClass.classlist.add(object);
結果は次のようになります。
コード 2: 再初期化によるリセット
ThisClass.classlist = new ArrayList<MyClass>();
結果はこれになります-新しいオブジェクトを指すようにしてリセットします:
コード 3: オブジェクトのクリアによるリセット
「オブジェクトを含まないようにする」ためにすべきことは次のとおりです。
ThisClass.classlist.clear();
Clear はすべての要素をループし、それらをnullにします。内部的には、ArrayList もそのオブジェクトのメモリ アドレスを指しますが、簡単にするために、このメソッドを呼び出すとオブジェクトが「削除」されると考えてください。
コード 4: クラスリスト全体をリセットする
「ArrayListを含まないようにしたい」場合は、次のようにします。
ThisClass.classlist = null;
つまり、次のようになります。
また、質問のタイトルに「static ArrayList」が含まれていることに注意してください。static
この文脈では関係ありません。オブジェクトが静的かどうかに関係なく、問題の結果は同じになります。