gpt4 book ai didi

java - 获取 Java 中 Enum 常量的所有值? (是否有内置方法可以做到这一点,或者我需要编写自己的 setter/getter ?)

转载 作者:行者123 更新时间:2023-12-02 05:21:23 25 4
gpt4 key购买 nike

我有一个如下所示的枚举:

public enum Foo {

BAR("v1", "v2", "v3"),
BAZ("x1", "x2", "x3"),
// ...

// version a
private String[] vals;
private Foo(String... vals) {
this.vals = vals;
}

// version b
private String v1, v2, v3;
private Foo(String v1, String v2, String v3) {
this.v1 = v1;
this.v2 = v2;
this.v3 = v3;
}

}

当我知道我有 Foo.BAR 时,如何获取“v1”、“v2”、“v3”列表?我是否必须编写自己的 getter,或者 Enum 中是否有内置的东西,很像 value() (但对于实际值)?

最佳答案

您必须为自定义属性等编写自己的 getter。对于您的“版本 A”示例,您可以这样做

public String[] getValues() {
return vals;
}

(尽管您可能希望返回值的副本,而不是数组本身。)

关于java - 获取 Java 中 Enum 常量的所有值? (是否有内置方法可以做到这一点,或者我需要编写自己的 setter/getter ?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26488770/

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