【问题标题】:How could I pass enum object with nested enum in it to a method as parameter?如何将带有嵌套枚举的枚举对象作为参数传递给方法?
【发布时间】:2017-04-03 11:40:50
【问题描述】:

假设我们有一个这样的枚举对象:

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 的“子类”,所以是的,您必须声明另一个方法。 MoveAction 的内部类,但那是另一回事。
  • 好的,谢谢。应该删除这个问题吗?
  • 如果有人要搜索类似问题,只需将我的答案标记为正确。我已将我的评论移至以下答案
  • 我会,但你应该将其添加为答案,因为我无法将评论标记为答案。
  • 我已经这样做了:)。

标签: java enums coding-style


【解决方案1】:

这是完全不同的论点。 Move 不是 Action 的“子类”,所以是的,您必须声明另一个方法。 MoveAction 的 Inner 类,但这是另外一回事。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-04
    • 2012-04-18
    • 2018-12-27
    相关资源
    最近更新 更多