我有一个问题,我计算一个数字,根据这个数字我必须调用一个特定的方法。我最终想到了创建一个枚举,其中每个元素都调用另一个方法。正如这篇文章中描述的那样https://stackoverflow.com/a/4280838/2426316
但是,那个答案的海报也提到它不会被认为是一个很好的设计,所以我想知道我应该怎么做。实现使用这种设计的算法是否安全?如果没有,我还能做什么?
我有一个问题,我计算一个数字,根据这个数字我必须调用一个特定的方法。我最终想到了创建一个枚举,其中每个元素都调用另一个方法。正如这篇文章中描述的那样https://stackoverflow.com/a/4280838/2426316
但是,那个答案的海报也提到它不会被认为是一个很好的设计,所以我想知道我应该怎么做。实现使用这种设计的算法是否安全?如果没有,我还能做什么?
Java Enum 类型是类型安全枚举模式的语言级别支持(语法糖)。
类型安全枚举模式和 Java 枚举类型(与 C# 枚举等其他解决方案相比)的优点之一是它旨在支持方法,甚至是抽象方法。
可能的用法:
了解更多信息:
好吧,安全可能不是这里的问题。这是不常见的,但可能很难遵循。
我的建议是通过以下两种方式之一来解决这个问题:
explore(Level1 level){...}
具有一个 switch 语句,该语句根据传递的级别进行区分。