Guava offre un bon raccourci pour initialiser une carte. Cependant, j'obtiens l'erreur de compilateur suivante (Eclipse Indigo) lorsque ma carte s'initialise à neuf entrées.
La méthode of(K, V, K, V, K, V, K, V, K, V)
dans le type ImmutableMap
n'est pas applicable pour les arguments
(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"
);
Le message semble dire que
Un ImmutableMap a une taille maximale de quatre paires de clé, valeur.
Évidemment, cela ne peut pas être le cas mais je ne sais pas quoi faire pour augmenter la taille de mon initialiseur.
Quelqu'un peut-il me dire ce qui manque?
la source
myMap
pour chacun.put
public static final
et qu'il fonctionne toujours, pas besoin d'une méthode d'assistance ou d'unstatic{}
initialiseur!si la carte est courte, vous pouvez faire:
Si c'est plus long alors:
la source
ImmutableMap.of
la fabrique statique pour jusqu'à cinq paires de valeurs clés. Ensuite, vous devez utiliser builder."put" est obsolète , abstenez-vous de l'utiliser, utilisez plutôt .of
la source