【发布时间】:2017-05-15 03:16:55
【问题描述】:
我想通过名称字符串获取枚举值,
这是枚举代码: 打包练习;
enum Mobile {
Samsung(400),
Nokia(250),
Motorola(325);
int price;
Mobile(int p) {
price = p;
}
int showPrice() {
return price;
}
}
我可以得到类名和名字字符串
Class enumClass = Class.forName("practice.Mobile");
String name = "Samsung";
如何仅使用 enumClass 和名称获得三星值 400? 非常感谢
【问题讨论】:
-
你的意思是像
Enum.valueOf(String)吗?例如Mobile.valueOf("Nokia") -
不相关: 标准命名约定是将该方法命名为
getPrice(),而不是showPrice(),尤其是因为该方法实际上并没有显示 i> 任何东西。 -
@Edwin yes, Enum,valueOf(enumClass, name),我们可以通过这种类型的方法得到name对应值400吗?