[解決済み] ArrayListの初期化を1行で行う。
2022-03-15 10:50:51
質問内容
テスト用にオプションのリストを作成したいと思いました。最初はこうしました。
ArrayList<String> places = new ArrayList<String>();
places.add("Buenos Aires");
places.add("Córdoba");
places.add("La Plata");
そして、次のようにコードをリファクタリングしました。
ArrayList<String> places = new ArrayList<String>(
Arrays.asList("Buenos Aires", "Córdoba", "La Plata"));
何か良い方法はないでしょうか?
どのように解決するのですか?
実は、おそらく一番いい方法は
ArrayList
を作成する必要がないので、あなたが書いたメソッドです。
List
を、どのような形であれ
ArrayList<String> list = new ArrayList<String>();
list.add("A");
list.add("B");
list.add("C");
を参照するために、かなり多くのタイピングが必要なことです。
list
のインスタンスを作成します。
インスタンス初期化子(ダブルブレース初期化子とも呼ばれる)を持つ無名の内部クラスを作成するなどの代替案があります。
ArrayList<String> list = new ArrayList<String>() {{
add("A");
add("B");
add("C");
}};
しかし、この方法はあまり好きではありません。というのも、最終的にできるのは
ArrayList
インスタンス・イニシャライザを持つそのクラスは、1つのオブジェクトを作成するためだけに作成されます。
何が良かったかというと コレクション リテラルの提案 に対して プロジェクトコイン が受理された(Java 7で導入される予定だったが、Java 8にも含まれそうにない。)。
List<String> list = ["A", "B", "C"];
残念ながら、ここでは役に立ちません。
List
ではなく
ArrayList
しかも、まだ利用できないし、利用できるようになるのかどうかもわからない。
関連
-
この行に複数のマーカーがある - HttpServletResponseが型エラーに解決できない
-
java Mail send email smtp is not authenticated by TLS encryption solution.
-
java -serverコマンドで「Error: no `server' JVM at ... jvm.dll」を解決する方法です。
-
maven プラグイン エラー プラグインの実行は、ライフサイクル構成ソリューションの対象外です。
-
[解決済み] 配列からArrayListを作成する
-
[解決済み] JavaでArrayListではなくLinkedListを使用するのはいつですか?
-
[解決済み] Java で、あるコンストラクタを別のコンストラクタから呼び出すにはどうすればよいですか?
-
[解決済み] 整数の平方根が整数であるかどうかを判断する最速の方法
-
[解決済み] Javaで「ArrayList<String>」を「String[]」に変換する。
-
[解決済み】Javaの「ダブルブレース初期化」の効率化?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Java Error スレッド "AWT-EventQueue-0" で例外発生 java.lang.
-
スタイルが読み込まれず、ブラウザのコンソールでエラーが報告される。リソースはスタイルシートとして解釈されますが、MIMEタイプtext/htmlで転送されます。
-
myeclipseでコンパイルするとAntエラーが発生する javaの例外が発生しました。
-
をインスタンス化することができません。
-
Android Studio 3.1.2 で v4, v7 パッケージが見つからない シンボル 'AppCompatActivity' を解決できない
-
プロジェクトの依存関係を解決できなかった 解決
-
JSPで「リストが型解決できない!」の解決方法
-
[解決済み] 1要素のアレイリストを素早く便利に作成する方法 [重複]について
-
[解決済み】ArrayListの初期化と配列の初期化の等価性【重複あり
-
[解決済み] 値を持つArrayListを宣言する方法は?[重複している]。