我的应用程序中有枚举类,我正在使用此枚举来比较 BigIntegers 的值,如下所示:
if (user.getObjId.equals(RoleEnum.ADMIN.getValue())) {
//something happens
}
问题是,我是否可以修改此枚举类以在不调用 getValue() 方法的情况下使用它,如以下代码示例所示?
if (user.getObjId.equals(RoleEnum.ADMIN)) {
//something happens
}
这是我的枚举类:
public enum RoleEnum {
ADMIN(1), USER(2);
private final BigInteger value;
private RoleEnum(int value) {
this.value = BigInteger.valueOf(value);
}
public BigInteger getValue() {
return value;
}
}
最佳答案
BigInteger 背后的想法是,您可以处理非常大的数字,您只需在 IDE 中以数字方式输入...
你应该这样做:
ADMIN("1"), USER("2");
private RoleEnum(String value) {
this.value = BigInteger.valueOf(value);
关于Java 枚举作为 BigInteger 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36767955/