gpt4 book ai didi

java - 结合 Java 枚举和点语法 (enum.value1.value2)?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:57:45 25 4
gpt4 key购买 nike

我正在检查一些现有的(和工作的)代码并遇到这样一行:

if (someObject.getStatus() == SomeEnum.VALUE1.VALUE2) { ... }

其中 SomeEnum 是一个简单的枚举,如下所示:

public enum SomeEnum {
VALUE1,
VALUE2,
VALUE3,
...
}

private SomeEnum() {}

现在,上面的比较有什么作用?更准确地说,其中两个枚举值的组合有什么作用?由于该行,我很惊讶没有看到任何警告或错误,因为我认为这完全是错误的。但是,它编译并运行得很好。有人可以告诉我这会做什么吗?

最佳答案

如果您使用的是像 Eclipse 这样的 IDE,您应该会收到一条警告,指出 VALUE2 应该以静态方式访问。使用 javac -Xlint:all 您还会收到警告。除此之外,SomeEnum.VALUE1.VALUE2SomeEnum.VALUE2 完全相同。枚举常量表示为静态字段。

关于java - 结合 Java 枚举和点语法 (enum.value1.value2)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31079758/

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