Guave bietet eine nette Verknüpfung zum Initialisieren einer Karte. Ich erhalte jedoch den folgenden Compilerfehler (Eclipse Indigo), wenn meine Map mit neun Einträgen initialisiert wird.
Die Methode of(K, V, K, V, K, V, K, V, K, V)
im Typ ImmutableMap
gilt nicht für die Argumente
(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"
);
Die Nachricht scheint das zu sagen
Eine ImmutableMap hat eine maximale Größe von vier Schlüsselpaaren.
Dies kann natürlich nicht der Fall sein, aber ich kann nicht herausfinden, was ich tun soll, um die Größe meines Initialisierers zu erhöhen.
Kann mir jemand sagen, was fehlt?
quelle
myMap
für jeden wiederholen müssen.put
public static final
und er immer noch funktioniert, ohne dass eine Hilfsmethode oder einstatic{}
Initialisierer erforderlich sind !Wenn die Karte kurz ist, können Sie Folgendes tun:
Wenn es länger ist als:
quelle
ImmutableMap.of
statische Factory für bis zu fünf Schlüsselwertpaare verwenden. Dann müssen Sie Builder verwenden."put" ist veraltet . Verwenden Sie es nicht. Verwenden Sie stattdessen .of
quelle