O Goiaba oferece um bom atalho para inicializar um mapa. No entanto, recebo o seguinte erro do compilador (Eclipse Indigo) quando meu mapa é inicializado em nove entradas.
O método of(K, V, K, V, K, V, K, V, K, V)
no tipo ImmutableMap
não é aplicável aos 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"
);
A mensagem parece dizer que
Um ImmutableMap tem um tamanho máximo de quatro pares de chave, valor.
Obviamente, esse não pode ser o caso, mas não consigo descobrir o que fazer para aumentar o tamanho do meu inicializador.
Alguém pode me dizer o que está faltando?
fonte
myMap
para cada.put
public static final
e ainda funciona, sem necessidade de um método auxiliar oustatic{}
inicializador!se o mapa for curto, você pode:
Se for mais longo, então:
fonte
ImmutableMap.of
fábrica estática para até cinco pares de valores-chave. Então você tem que usar o construtor."put" foi descontinuado , evite usá-lo, use .of em vez disso
fonte