Java 检查枚举是否为null或空

Java 检查枚举是否为null或空,java,validation,enums,isnull,Java,Validation,Enums,Isnull,我正在尝试验证发送到我的控制器中的json,我使用BindingResult方式,我能够正常验证字符串和其他所有内容。但是我不知道如何检查枚举是空的还是空的。首先,枚举不能为空!它是表示已定义状态的对象。把它想象成一个静态的最终对象,它在初始化后不能改变,但很容易比较 所以,您可以做的是检查null和等于现有枚举值的值 根据要求,此处提供有关枚举比较的基本信息: public enum Currency {PENNY, NICKLE, DIME, QUARTER}; Currency coin

我正在尝试验证发送到我的控制器中的json,我使用BindingResult方式,我能够正常验证字符串和其他所有内容。但是我不知道如何检查枚举是空的还是空的。

首先,枚举不能为空!它是表示已定义状态的对象。把它想象成一个静态的最终对象,它在初始化后不能改变,但很容易比较

所以,您可以做的是检查null和等于现有枚举值的值

根据要求,此处提供有关枚举比较的基本信息:

public enum Currency {PENNY, NICKLE, DIME, QUARTER};

Currency coin = Currency.PENNY;
Currency noCoin = null
Currency pennyCoin = Currency.PENNY;
Currency otherCoin = Currency.NICKLE;

if (coin != null) {
    System.out.println("The coin is not null");
}

if (noCoin == null) {
    System.out.println("noCoin is null");
}

if (coin.equals(pennyCoin)) {
    System.out.println("The coin is a penny, because its equals pennyCoin");
}

if (coin.equals(Currency.PENNY)) {
    System.out.println("The coin is a penny, because its equals Currency.PENNY");
}

if (!coin.equals(otherCoin)) {
    System.out.println("The coin is not an otherCoin");
}

switch (coin) {
    case PENNY:
        System.out.println("It's a penny");
        break;
    case NICKLE:
        System.out.println("It's a nickle");
        break;
    case DIME:
        System.out.println("It's a dime");
        break;
    case QUARTER:
        System.out.println("It's a quarter");
        break;
}

Output: "It's a penny"

您可以简单地使用:Objects.isNull(enumValue)

您可以发布您的实际代码吗?我没有任何代码可以显示。我正在向我的rest控制器发送json。json绑定到my对象,然后通过验证传递该对象。我希望在验证中使用if语句检查“accountType”的数据是否为空。accountType是一个枚举。很抱歉解释得不好,请给我一个代码示例,说明如何在java中检查null和equals。啊,好吧,我觉得这更有意义,我已经解决了我的问题。感谢rmertinsEnums可以使用“==”而不是.equals()来测试相等性。简单来说,我们如何检查枚举的
null
和blank