Guava oferuje fajny skrót do inicjalizacji mapy. Jednak pojawia się następujący błąd kompilatora (Eclipse Indigo), gdy moja mapa inicjuje się do dziewięciu wpisów.
Metoda of(K, V, K, V, K, V, K, V, K, V)
w typie ImmutableMap
nie ma zastosowania do argumentów
(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"
);
Wydaje się, że wiadomość to mówi
ImmutableMap ma maksymalny rozmiar czterech par klucza, wartość.
Oczywiście nie może tak być, ale nie mogę dowiedzieć się, co zrobić, aby zwiększyć rozmiar mojego inicjatora.
Czy ktoś może mi powiedzieć, czego brakuje?
źródło
myMap
dla każdego.put
public static final
i nadal działa, bez potrzeby stosowania metody pomocniczej anistatic{}
inicjatora!jeśli mapa jest krótka, możesz:
Jeśli jest dłuższy, to:
źródło
ImmutableMap.of
statycznej fabryki do pięciu kluczowych par wartości. Następnie musisz użyć kreatora."put" jest przestarzałe , nie używaj go, zamiast tego użyj .of
źródło