快速枚举问题
嘿伙计们,我有一个简单的问题。如果给定一个字符串值,我如何在枚举类中获取相应的 int 值?
例如:
给定一个字符串“Ordinary”,我希望返回值 0。这是我所拥有的:
public enum MembershipTypes
{
ORDINARY(0,"Ordinary"),
WORKING(1,"Working"),
CORE(2,"Core"),
COORDINATOR(3,"Coordinator");
private int intVal;
private String strVal;
/**
*
* @param intValIn
* @param strValIn
*/
MembershipTypes(int intValIn, String strValIn)
{
intVal = intValIn;
strVal = strValIn;
}
/**
*
* Gets the integer value
* @return intVal
*/
public int getIntVal()
{
return intVal;
}
/**
*
* Gets the string value
* @return strVal
*/
public String getStrVal()
{
return strVal;
}
}
Hey guys, I have a quick question. If given a string Value how can i get the corresponding int value in my enum class?
Ex:
Given a string "Ordinary" I want the value 0 returned. Here is what I have:
public enum MembershipTypes
{
ORDINARY(0,"Ordinary"),
WORKING(1,"Working"),
CORE(2,"Core"),
COORDINATOR(3,"Coordinator");
private int intVal;
private String strVal;
/**
*
* @param intValIn
* @param strValIn
*/
MembershipTypes(int intValIn, String strValIn)
{
intVal = intValIn;
strVal = strValIn;
}
/**
*
* Gets the integer value
* @return intVal
*/
public int getIntVal()
{
return intVal;
}
/**
*
* Gets the string value
* @return strVal
*/
public String getStrVal()
{
return strVal;
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
这是最简单的方法。将此静态方法添加到您的枚举中:
Here's the simplest way to do it. Add this static method to your enum:
使用:
考虑:
Use:
Consider:
您的枚举会自动获取一个方法
valueOf(String)
,该方法在给定枚举名称时返回正确的枚举。您可以覆盖它来检查您的strVal
。或者,您可以编写一个直接返回 int 值的实用函数。Your enum automatically gets a method
valueOf(String)
that returns the right enum when given an enum name. You can override that to also check for yourstrVal
. Alternatively, you could write a utility function that returns the int value directly.我认为你可以使用ordinal()。
I think you can use ordinal().