How to convert a string that a user typed in a dialog box (JOptionPane) into a enum?
本问题已经有最佳答案,请猛点这里访问。
我有一份性别清单。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
此枚举是我的类的构造函数。
1 2 3 4 5 6 |
然后我尝试从用户创建一个这个类的新对象,用户输入一个名称、ID、年龄和性别。我正在使用对话框JoptionPane。我要出错的是这条线。
1 2 3 4 5 6 7 8 | public class AppPeople { public static void main(String[] args) { Gender gender1; //I tried declaring String gender1 //To get the answer/input below, but didn't work. gender1 = JOptionPane.showInputDialog(null,"Type Male or Female"); People p1 = new People(name, id, age, Gender1); } } |
所有其他字段都在对话框、名称、ID和年龄中工作。这一个枚举不起作用。我必须声明ID和Age字符串才能在对话框中使用它,所以我将键入的答案转换为字符串变量并将其转换为整数,以匹配类的构造函数。我试图声明一个新的字符串,以从对话框中获取输入并将其转换为枚举,但仍然不起作用。唯一剩下的字段是将字符串转换为枚举的字段。有人知道我能做些什么来修复或者也许是一个新的解决方案吗?
你可以使用
1 |
只是每个枚举的SE方法
1 | Gender.valueOf("yourString") |