gpt4 book ai didi

java - 唯一的枚举成员值

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

我的问题:我想指定两个枚举之间的一对一连接。基本上:

enum MyEnum{

ENUM_VALUE_1,
ENUM_VALUE_2,
ENUM_VALUE_3,

}

enum MyOtherEnum{

OTHER_ENUM_VALUE_1(MyEnum.ENUM_VALUE_3),
OTHER_ENUM_VALUE_2(MyEnum.ENUM_VALUE_1),
OTHER_ENUM_VALUE_3,
OTHER_ENUM_VALUE_4(MyEnum.ENUM_VALUE_2),

private MyEnum pair;

MyOtherEnum(MyEnum pair){
this.pair=pair;
}

}

鉴于此代码,确保 MyOtherEnum 的两个实例不具有相同的 MyEnum 对的最佳方法是什么?我想出了一些解决方案,但似乎都不好。一种解决方案是在构造函数中抛出异常,但我不确定这是否可行。另一种解决方案是特殊的 getter 方法,但可以通过简单的 MyOtherEnum.values() 调用轻松绕过。

最佳答案

听起来您不应该将此作为运行时检查来实现。如果控制代码的开发人员做了一些错误的更改,它只会失败。检测引入错误的更改是测试的目的。

编写一个简单的测试来检查一切是否正确。其他答案已经提供了一些很好的解决方案来检查重复的枚举。不要运行应用程序来查看枚举初始化是否失败,而是运行测试(我希望你已经编写并运行了测试)。

关于java - 唯一的枚举成员值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23831903/

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