gpt4 book ai didi

Java自定义枚举值枚举

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:18:32 24 4
gpt4 key购买 nike

我有这样的枚举

public enum Sizes {
Normal(232), Large(455);

private final int _value;

Sizes(int value) {
_value = value;
}

public int Value() {
return _value;
}
}

现在我可以调用 Sizes.Normal.Value() 来获取整数值,但如何将整数值转换回枚举?

我现在做的是:

public Sizes ToSize(int value) {
for (Sizes size : Sizes.values()) {
if (size.Value() == value)
return size;
}
return null;
}

但这是唯一的方法吗? Java 就是这样工作的?

最佳答案

是的,这就是它的完成方式,通常是通过向枚举添加一个静态方法。想一想;你可以在枚举上有 10 个字段。您希望 Java 为所有这些设置查找吗?

这里的要点是 Java 枚举没有“值”。他们有身份和序数,加上你为自己添加的任何东西。这与 C# 不同,C# 遵循 C++,取而代之的是具有任意整数值。

关于Java自定义枚举值枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10661775/

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