我如何将带有嵌套枚举的枚举对象作为参数传递给方法?
How could I pass enum object with nested enum in it to a method as parameter?
假设我们有一个这样的枚举对象:
public enum Action
{
FOO,
BAR;
public enum Move
{
UP,
DOWN,
LEFT,
RIGHT
}
}
和这样的方法:
private void useThisEnum(Action a) {
//code
}
在我的 Eclipse 中,该方法无法接受带有嵌套枚举的枚举对象。我怎么能通过呢?我是否应该始终使用方法重载并像这样声明另一个方法:
private void useThisEnum(Action.Move ma) {
//code
}
或者我应该使用接口而不是外部枚举?
这是完全不同的说法。 Move
不是 Action
的 "subclass" 所以是的,您必须声明另一个方法。 Move
是 Action
的内部 class,但那是另外一回事。
假设我们有一个这样的枚举对象:
public enum Action
{
FOO,
BAR;
public enum Move
{
UP,
DOWN,
LEFT,
RIGHT
}
}
和这样的方法:
private void useThisEnum(Action a) {
//code
}
在我的 Eclipse 中,该方法无法接受带有嵌套枚举的枚举对象。我怎么能通过呢?我是否应该始终使用方法重载并像这样声明另一个方法:
private void useThisEnum(Action.Move ma) {
//code
}
或者我应该使用接口而不是外部枚举?
这是完全不同的说法。 Move
不是 Action
的 "subclass" 所以是的,您必须声明另一个方法。 Move
是 Action
的内部 class,但那是另外一回事。