gpt4 book ai didi

java - 比较 Java 枚举成员 : == or equals()?

转载 作者:太空宇宙 更新时间:2023-11-04 09:09:39 25 4
gpt4 key购买 nike

我知道 Java 枚举被编译为具有私有(private)构造函数和一堆公共(public)静态成员的类。当比较给定枚举的两个成员时,我总是使用 .equals(),例如

public useEnums(SomeEnum a)
{
if(a.equals(SomeEnum.SOME_ENUM_VALUE))
{
...
}
...
}

但是,我刚刚遇到一些使用等于运算符 == 而不是 .equals() 的代码:

public useEnums2(SomeEnum a)
{
if(a == SomeEnum.SOME_ENUM_VALUE)
{
...
}
...
}

我应该使用哪一个运算符?

最佳答案

两者在技术上都是正确的。如果您查看 .equals() 的源代码,它只是遵循 ==

但是,我使用 ==,因为这将是 null 安全的。

关于java - 比较 Java 枚举成员 : == or equals()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59814201/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com