当前位置: 首页 > 面试题库 >

Java中具有int值的枚举

谷梁驰
2023-03-14
问题内容

什么是C#的Java等价物:

enum Foo
{
  Bar = 0,
  Baz = 1,
  Fii = 10,
}

问题答案:

如果需要属性,则enum需要这样定义:

public enum Foo {
    BAR (0),
    BAZ (1),
    FII (10);

    private final int index;

    Foo(int index) {
        this.index = index;
    }

    public int index() { 
        return index; 
    }

}

您可以这样使用它:

public static void main(String[] args) {
    for (Foo f : Foo.values()) {
       System.out.printf("%s has index %d%n", f, f.index());
    }
}

要意识到的是,这enum只是创建类的捷径,因此您可以向该类添加所需的任何属性和方法。

如果您不想在自己的方法上定义任何方法,则enum可以更改成员变量的范围并进行设置public,但这不是它们在Sun网站上的示例中所做的。



 类似资料:
  • 问题内容: 基本上,我所做的是为州写一个枚举,我不仅希望能够像州一样访问它们,而且还希望访问它们的缩写以及它们是否是原始殖民地。 这似乎按我预期的那样工作。我可以 对于涉及枚举的特定情况,这是执行此操作的最佳方法,还是设置和格式化此枚举的更好方法?预先感谢所有人! 问题答案: 首先,枚举方法不应大写。它们是与其他方法一样的方法,具有相同的命名约定。 其次,您所做的并不是建立枚举的最佳方法。不要为每

  • 我正在使用SpringBoot和JPA。 在我的实体中,我有一个映射为枚举的状态字段。我想将e特定枚举值映射为null。

  • 问题内容: 我在声明枚举时遇到麻烦。我要创建的是一个“ DownloadType”的枚举,其中有3种下载类型(AUDIO,VIDEO,AUDIO_AND_VIDEO)。 我已经实现了如下代码: 如果我再像这样使用它,则效果很好: 但是,我希望这样,所以我不必要求“值”。我可能会弄错,但这是Java中几个类(例如Font)工作的方式,例如,设置字体样式,您可以使用: 它返回一个int值,我们不使用:

  • 问题内容: 假设我有一个包含100个值的枚举。为了简单起见,请采用以下示例: 我想创建一个公共方法,以将具有已知格式(例如“ string1”,“ string2” …)的字符串转换为适当的枚举值CODE_1,CODE_2 …通常是通过遍历所有值来完成的,如果找到匹配项,返回该枚举值。 但是,我担心规则循环遍历所有值。这可能是一个巨大的瓶颈吗?如果不是100个元素而是1000个呢? 作为我自己的练

  • 问题内容: 我正在使用此代码来检查数组是否存在: 但这印出来。如何检查数组中是否存在? 问题答案: 问题是因为两者不相等。 和其他Java Collections Framework类根据定义了其接口。来自: Collections Framework接口中的许多方法都是根据方法定义的。例如,该方法的规范说:“ 当且仅当此映射包含诸如这样的键的映射时,才返回。” 注意,它们不必是同一对象。他们一定