【发布时间】:2017-10-09 21:56:00
【问题描述】:
我正在编写一个简单的程序来将数字转换为代表该数字的单词(13 =>“十三”)。
我意识到我可以使用这样的常量字符串数组来获取一些单词:
private static final String[] tensNames = {"", " ten", " twenty", " thirty", " forty", " fifty", " sixty", " seventy", " eighty", " ninety" };
...并使用索引访问它,但我想尝试使用这样的 HashMap:
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");
一位老师指示我制作这些常数。 HashMap 可以是常数吗?作为一个新手,并不完全清楚术语“常量”、“静态”和“最终”是如何相关的,以及究竟什么是常量。 (单独静态?单独final?一起静态final?)。
我尝试将其设为私有静态最终哈希图,但 IntelliJ 给了我一个错误(此处不允许使用修饰符“私有”……“静态”也是如此)。
但是,它确实从我的终端编译,没有错误。如果 HashMap 可以是一个常量,这是声明一个常量的正确方法吗?谢谢!
【问题讨论】:
-
它可以是一个常数,你在哪里声明你的
HashMap? -
据我所见,我在5月12日接受了您的答复。和你看到的不一样吗?