我有一个枚举,其中
public enum Regular {
NONE,
HOURLY,
DAILY,
WEEKLY;
public String getName() {
return this.name().toLowerCase();
}
}
当我们得到它时,我们可以将它转换为小写。但如果我要从 String 转换为 Enum,我必须明确记住设置 toUpperCase()
Regular.valueOf(regular.toUpperCase());
有没有办法在我的 Enum 类中定义它,它会自动将所有字符串转换为大写以进行比较?
最佳答案
不,没有办法做到这一点。
但是,一旦您创建另一个方法 String getName()
来“覆盖”name()
的默认实现。我认为您必须对 Regular valueOf()
执行相同的操作,即创建另一个方法 Regular valueOfByName()
。
public enum Regular {
NONE,
HOURLY,
DAILY,
WEEKLY;
public String getName() {
return this.name().toLowerCase();
}
public static Regular valueOfByName(String name){
return valueOf(name.toUpperCase());
}
}
关于java - 如何将字符串转换为枚举,然后先转换为大写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40142851/