La guayaba ofrece un buen atajo para inicializar un mapa. Sin embargo, aparece el siguiente error del compilador (Eclipse Indigo) cuando mi mapa se inicializa en nueve entradas.
El método of(K, V, K, V, K, V, K, V, K, V)
en el tipo ImmutableMap
no es aplicable para los argumentos
(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"
);
El mensaje parece decir que
Un ImmutableMap tiene un tamaño máximo de cuatro pares de clave, valor.
Obviamente, este no puede ser el caso, pero no puedo entender qué hacer para aumentar el tamaño de mi inicializador.
¿Alguien puede decirme lo que falta?
fuente
myMap
para cada uno de ellos.put
public static final
y sigue funcionando, sin necesidad de un método auxiliar ostatic{}
inicializador!si el mapa es corto puedes hacer:
Si es más largo, entonces:
fuente
ImmutableMap.of
la fábrica estática para hasta cinco pares de valores clave. Entonces tienes que usar el constructor."put" ha quedado en desuso , abstenerse de usarlo, use .of en su lugar
fuente