En Java, puis-je déclarer un HashMap constante?

Je suis en train d'écrire un programme simple pour convertir un nombre en un mot représentant un nombre (13 => "treize").

Je me rends compte que j'ai pu obtenir quelques-uns des mots avec une constante Chaîne de tableau comme ceci:

private static final String[] tensNames = {"", " ten", " twenty", " thirty", " forty", " fifty", " sixty", " seventy", " eighty", " ninety" };

...et accéder à l'index, mais je voulais essayer avec une table de hachage comme ceci:

final HashMap<Integer, String> tensNumberConversion = new HashMap<Integer, String>();
    tensNumberConversion.put(2, "twenty");
    tensNumberConversion.put(3, "thirty");
    tensNumberConversion.put(4, "forty");
    tensNumberConversion.put(5, "fifty");
    tensNumberConversion.put(6, "sixty");
    tensNumberConversion.put(7, "seventy");
    tensNumberConversion.put(8, "eighty");
    tensNumberConversion.put(9, "ninety");

J'ai été instruit par un professeur de faire de ces constantes. Peut la table de hachage être une constante? Comme un débutant, ce n'était pas tout à fait clair comment les termes "constante" et "statique" et "finale" sont liées, et ce que fait exactement une constante. (statique seul? final seul? static final de l'ensemble?).

J'ai essayé de faire c'private static final de la table de hachage, mais l'Ide m'a donné une erreur (modificateur "privé" pas autorisé ici...même pour la "statique").

Toutefois, il ne compile à partir de mon terminal sans erreurs. Si une table de hachage peut être une constante, est-ce la bonne façon de déclarer un? Merci!

Il peut être une constante, où en êtes-vous de déclarer votre HashMap?
Double Possible de Comment puis-je initialiser une Carte statique?
Selon ce que je vois, j'ai accepté votre réponse, le 12 Mai. Est-ce différent de ce que vous voyez?

OriginalL'auteur Hoonta | 2017-05-11