gpt4 book ai didi

Java:新枚举是旧枚举的子集

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:01:46 28 4
gpt4 key购买 nike

在 Java 中,有什么方法可以从现有枚举定义新的枚举吗?我想要以下功能。

public enum A{1, 2, 3, 4, 5, 6, 7, 8, 9};
public enum B{1, 2, 3, 4};
public enum C{3, 4, 5, 6, 7};

1、2、3 和 all 必须相同,即

A.1 == B.1 = true
B.4 == C.4 = true

现实生活中的例子是“DAYS”、“WEEKDAYS”、“WEEKENDDAYS”、“LECTUREDAYS”、“PARTYDAYS”等等。

最佳答案

您不能扩展枚举,但从您的周/周末示例来看,您似乎需要稍微不同地考虑它。如果我们有 enum Days{ MON, TUE, WED, THU, FRI, SAT, SUN },那么按如下方式考虑周/周末:

EnumSet<Days> weekDays    = EnumSet.range(Days.MON, Days.FRI);
EnumSet<Days> weekendDays = EnumSet.range(Days.SAT, Days.SUN);
EnumSet<Days> partyDays = EnumSet.of( Days.TUE, Days.THU );

诸如“任何工作日也是派对日吗?”之类的自然问题然后可以按照您的期望表达:

!Collections.disjoint(weekDays, partyDays)

希望这对您有所帮助。

关于Java:新枚举是旧枚举的子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26456674/

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