我是一个Java初学者,正在制作一个GUI程序,其中包含一个类似月份的下拉列表

JComboBox month;
public static String[] monthname = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"};
month = new JComboBox(monthname);


我已经将其添加到框架中,并且可以正常工作。
我想为月份名称数组的每个索引分配数值。我只想实现如果用户选择月份April,如何针对April分配值4。

最佳答案

您可以创建Map并将键值分配给月份。理想的情况是将int作为键,但是由于您想要月份的整数值,因此请执行以下操作:

Map<String, Int> months = new Hashmap <String, Int>();

months.put("january", 1);
months.put("february", 2);
...


因此,这种方式:

months.get("january");


将返回1

由于您的密钥是字符串,一月份也可能是januaryJANUARY,因此您应该将要获取的所有字符串都转换为Lowercase。这就是为什么我在地图的关键字段上将它们小写。

09-27 08:40