問題タブ [double-brace-initialize]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
9786 参照

java - new Class(...){{...}} 初期化イディオムの意味

{{ ... }}次のコードでブロックは何を意味しますか?

0 投票する
13 に答える
105811 参照

java - Javaでのダブルブレースの初期化とは?

{{ ... }}Javaのダブルブレース初期化構文( )とは?

0 投票する
2 に答える
471 参照

java - Java 二重ブレースの初期化

次のオブジェクトの初期化をリファクタリングしました。

の中へ:

2 番目のサンプルでは、​​次の Eclipse 警告が発生します。

シリアル化可能なクラスは、long 型の static final serialVersionUID フィールドを宣言していません

これらのコード サンプルは同等であると考えていましたが、違いは何ですか?

0 投票する
2 に答える
340 参照

java - JRuby での二重ブレースの初期化

JRuby を試していますが、Java の二重ブレース初期化の使用方法を理解しようとしていました。ただし、構文がどのようになるかは明らかではありません。

この例を単純にするために、以下の Java コードは要素を含むリストを作成します。


これは JRuby で可能です?

ArrayList.new {{}}意味がなく、エラーが発生します: odd number list for Hash.puts ArrayList.new({{}})

0 投票する
4 に答える
676 参照

java - Java二重ブレースの初期化は常に機能しますか?

私はこのコードを知っています:

本当に:

イニシャライザ ブロックは、コンストラクタ ブロックのに実行されています。上記の例では、コンストラクターが実行される前に add("test1") が呼び出されます。このクラスが機能するように、コンストラクターは多くのインスタンス フィールドを初期化している可能性があります。コンストラクターが機能する前に.add()を呼び出すのはなぜですか? 問題となるケースはありますか?

0 投票する
2 に答える
195 参照

java - 二重ブレースの初期化におけるメソッドパラメータ?

HashMap関数内に二重中括弧を使用してインラインを作成しています。

そして、私はこれらのエラーを受け取っています:

Object初期化された二重ブレースにメソッドパラメータを挿入するにはどうすればよいですか?

0 投票する
1 に答える
184 参照

java - 二重ブレースの初期化と「一種の」静的匿名クラス

テストのために、クラス内に匿名のネストされたクラスを作成するクイック「ダブルブレース」初期化を使用することがありますOuter。次に例を示します。

編集 私は、この例がOuterインスタンスへの参照を保持しているという以前の誤ったステートメントを修正しています。そうではなく、事実上、次のものと同等です。

との両方がsSet1、クラスsSet2への参照を保持しない匿名のネストされたクラスで初期化されますOuter

これらの匿名クラスは本質的にstatic nestedクラスであるということですか?

0 投票する
1 に答える
122 参照

java - 二重中括弧の初期化内で自身を参照するオブジェクトは、NPE を与えませんか?

ここにこの小さなコードがあります。これは常に NPE をスローします。

インスタンス初期化ブロックで初期化OBJECT できる方法はありますか? または、インスタンスの初期化ブロックで可能なすべての参照はOBJECT常に NPE をスローしますか?

西側で最速の銃を持っている人は、これを読んでください:いいえ、バグを解決するように求めているわけではありません。これは私がどこかで見た単純化されたコードであり、驚いたことに、Eclipse または Netbeans のいずれでも null 警告を出していません。

0 投票する
2 に答える
784 参照

java - ネストされたコレクションでの二重ブレースの初期化

List二重中括弧を使用してa を宣言および初期化できることはわかっています。

しかし、私はのがList欲しい<Map<Object,Object>>

ネストされたコレクションで二重ブレースの初期化 ((1) を参照) を使用するにはどうすればよいですか? 私の目標は、データ構造を 1 行で宣言して初期化することです。

また、二重ブレースの初期化を使用する際に注意が必要な特定の欠点があるかどうかを知りたいです。