0

arraylist を操作しているときに、より多くのメモリを消費するかどうかはわかりません。次のコード ブロックを実行するときに混乱します。

headerRow = new ArrayList<>();
headerRow.add("");
xlHeader.add(headerRow);

// headerRow = null;                     //<----- This is the line of confusion.
headerRow = new ArrayList<>();

headerRow を無効にする必要がありますか?

に追加された空の文字列オブジェクト ("") はどうなりheaderRowますか?

4

5 に答える 5

2

これは必須ではありません。新しく作成されたオブジェクトを参照します。変数headerRowは、新しく作成された を参照しArrayListます。

だからあなたは直接使うことができますheaderRow = new ArrayList();

于 2013-09-18T09:47:00.777 に答える
1

あなたはただ使う

headerRow = new ArrayList();

前に無効にする必要はありません。JVMが管理します。

そして、コードの最初の 2 行で

List<String> headerRow = new ArrayList<String>();
headerRow = new ArrayList();

その2行目は冗長です。書く必要はありませんheaderRow = new ArrayList();

前の行ですでに初期化されているため。

于 2013-09-18T09:48:59.643 に答える
0

なぜこれを行うのかわかりません:

List<String> headerRow = new ArrayList<String>();
// First one is correct; lose the line that follows.
headerRow = new ArrayList();
于 2013-09-18T09:49:15.820 に答える