gpt4 book ai didi

java比较两个枚举

转载 作者:行者123 更新时间:2023-12-01 22:33:38 25 4
gpt4 key购买 nike

给出测试代码:

@Test
public void testEnumAreEqual() {
for (var someEnum : SomeEnum.values()) {
Assertions.assertTrue(EnumUtils.isValidEnum(OtherEnum.class, someEnum.name()));
}
for (var otherEnum : OtherEnum.values()) {
Assertions.assertTrue(EnumUtils.isValidEnum(SomeEnum.class, otherEnum.name()));
}
}

我想检查两个给定的枚举是否包含相同的值。

是否有更优雅的方法来做到这一点?

最佳答案

建立一组名称:

Set<String> someEnumNames = 
Arrays.stream(SomeEnum.values())
.map(Enum::name)
.collect(toSet());

OtherEnum 执行相同的操作(考虑将以上内容提取到方法中)。

然后:

assertEquals(someEnumNames, otherEnumNames);

关于java比较两个枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58538546/

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