Java の二重括弧の初期化とは何ですか? 質問する

Java の二重括弧の初期化とは何ですか? 質問する

{{ ... }}Java の二重中括弧初期化構文 ( ) とは何ですか?

ベストアンサー1

二重中括弧の初期化は、指定されたクラス(外側の中括弧)から派生した匿名クラスを作成し、そのクラス内に初期化ブロック(内側の中括弧)を提供します。例:

new ArrayList<Integer>() {{
   add(1);
   add(2);
}};

この二重括弧の初期化を使用すると、匿名の内部クラスが作成されることに注意してください。作成されたクラスには、this周囲の外部クラスへの暗黙的なポインターがあります。通常は問題にはなりませんが、シリアライズやガベージ コレクションなど、状況によっては問題が発生する可能性があるため、この点に注意する必要があります。

おすすめ記事