如何检查枚举类型是否相等

19 浏览
0 Comments

如何检查枚举类型是否相等

这个问题已经有了答案:

比较Java枚举成员:==还是equals()?

我有一个枚举

public class TestResult {
    MY_ENUM {
        @Override
        public String toString() {
            return "Test1";
        }
        @Override
        public boolean isTested() {
            return true;
        }
        public abstract boolean isTested();
    }
    private MY_ENUM myEnum;
    public MY_ENUM getMyEnum() {
        return myEnum ;
    }
}

我有另一个类来保存这个变量

public class Result {
    private final TestResult testResult ;
}

我想检查testResult.getMyEnum()是否等于

TestResult.MY_ENUM.

我需要这么做吗:

 1 .  testResult.getMyEnum() == TestResult.MY_ENUM.

它会检查toString和isTested的值吗?

2.   testResult.getMyEnum().toString().equal(TestResult.MY_ENUM.toString()) 
3.  testResult.getMyEnum().equal(TestResult.MY_ENUM)

它会检查toString和isTested的值吗?

admin 更改状态以发布 2023年5月22日
0
0 Comments

两种方法都是正确的,.equals()方法会调用==操作符。

但是,使用==操作符可以避免出现NullPointerException的情况。

0