[解決済み] Guava ImmutableMapの初期化
2022-04-25 07:04:08
質問
Guavaはマップを初期化するための素晴らしいショートカットを提供しています。 しかし、私のマップが9つのエントリに初期化されると、次のコンパイラーエラーが発生します(Eclipse Indigo)。
メソッド
of(K, V, K, V, K, V, K, V, K, V)
の型では
ImmutableMap
は、引数
(String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String)
ImmutableMap<String,String> myMap = ImmutableMap.of(
"key1", "value1",
"key2", "value2",
"key3", "value3",
"key4", "value4",
"key5", "value5",
"key6", "value6",
"key7", "value7",
"key8", "value8",
"key9", "value9"
);
というメッセージが表示されます。
ImmutableMapの最大サイズは、キーと値のペアで4つです。
明らかにこれはありえないのですが、イニシャライザのサイズを大きくするにはどうしたらいいのかがわかりません。
何が足りないのか、誰か教えてください。
解決方法は?
エラーメッセージには5つしか含まれていないことに注意してください。
K, V
のペアで、合計10個の引数があります。これは意図的なもので、ImmutableMapクラスは6つの異なる
of()
メソッドがあり、0から5個のキーと値のペアを受け入れることができます。メソッドはありません。
of(...)
オーバーロードは、バラグパラメータを受け入れるので
K
と
V
は異なるタイプである可能性があります。
を指定します。
ImmutableMap.Builder
:
ImmutableMap<String,String> myMap = ImmutableMap.<String, String>builder()
.put("key1", "value1")
.put("key2", "value2")
.put("key3", "value3")
.put("key4", "value4")
.put("key5", "value5")
.put("key6", "value6")
.put("key7", "value7")
.put("key8", "value8")
.put("key9", "value9")
.build();
関連
-
スタイルシートとして解釈されるリソースが、MIMEタイプtext/htmlで転送される。
-
スタイルが読み込まれず、ブラウザのコンソールでエラーが報告される。リソースはスタイルシートとして解釈されますが、MIMEタイプtext/htmlで転送されます。
-
java の例外が発生しました java
-
IllegalArgumentException この例外を解決する方法
-
jd-gui Java Exceptionが発生しました。
-
SpringBootApplication を型解決できない。
-
Eclipseで "XXXX "の解決策を(型に)解決することができない
-
コンストラクタの呼び出しは、コンストラクタのエラー理解の最初のステートメントである必要があります。
-
JQuery DataTable 详解
-
eclipse の実行時に 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 エラー報告 スレッド "main" での例外 java.util.NoSuchElementException
-
eclipse で「アクセス制限: タイプ 'HttpServer' は API ではありません」というプロンプトが表示される。
-
アクセス制限について アプリケーションの種類がAPIでない(必要なライブラリの制限)。
-
をインスタンス化することができません。
-
Javaクラスローダーにソースコードから潜り込む
-
スキャナは、タイプに解決することはできません最もルーキー初心者の質問
-
プロジェクトの依存関係を解決できなかった 解決
-
eclipseにプロジェクトをインポートした後、Editorにmain typeが含まれない問題
-
javaコンパイル時のエラー:不正な文字 '\ufeff' に対する解決策です。
-
javax.net.ssl.SSLException: 読み取りエラー: ssl=0xdeae5100: システムコール中の I/O エラー、接続 res