【发布时间】:2021-11-25 05:26:32
【问题描述】:
我的州的流程如下所示。其中 A、B、C、D、X 是用作枚举的状态。
A -> B -> C -> D -> E
A -> X
B -> X
C -> X
D -> X
表示状态可达的箭头。即 A -> X 意味着 A 可以到达 X 但反之则不行。 我正在实施的方式是:
public enum States{
A(0), B(1), C(2), D(3);
private int priority;
…
}
有一个浮动状态 X,可以从 A、B、C 和 D 到达。 我想以上述方式设置 X 的优先级。有没有办法这样做? IE。为单个枚举设置多个优先级。
【问题讨论】:
-
仅当您为其编写代码时。我不确定你在问什么——你已经设计了自己的优先系统,所以你必须以适合你的用例的方式来实现它。您当然不能将一个 int 设置为多个值,因此您必须至少在一定程度上调整您的设计。
-
“浮动状态”是指不是枚举值之一的状态吗?您的代码将如何同时处理枚举和另一个类?它们是否有一个通用的接口,或者您是否需要一直检查类型?顺便说一句,我不确定
int是表达单向“流”的最佳方式。
标签: java spring spring-boot java-8 enums