当前位置: 首页 > 面试题库 >

如何在不指定Java Enum类型的情况下引用我的Java Enum

魏岳
2023-03-14
问题内容

我有一个定义自己的枚举的类,如下所示:

public class Test
{
    enum MyEnum{E1, E2};

    public static void aTestMethod() {
        Test2(E1);  // << Gives "E1 cannot be resolved" in eclipse.
    }
    public Test2(MyEnum e) {}
}

如果指定MyEnum.E1,它可以正常工作,但我真的很想将其作为“ E1”。您知道如何实现此目的,还是必须在另一个文件中定义它才能起作用?

结论:我无法正确获取导入的语法。由于有几个答案表明这是可能的,因此我将选择一个为我提供所需语法的文件,并对其他文件进行投票。

顺便说一下,这是一个真正的STRANGE部分(在我执行静态导入之前),我编写的使用enum的switch语句不允许enum以其类型为前缀-
其余所有代码需要它。伤了我的头。


问题答案:

实际上,您可以静态导入嵌套枚举。下面的代码可以正常编译:

package mypackage;

import static mypackage.Test.MyEnum.*;

public class Test
{
    enum MyEnum{E1, E2};

    public static void aTestMethod() {
        Test2(E1);  
    }

    public static void Test2(MyEnum e) {}
}


 类似资料:
  • 问题内容: 我想遍历具有以下结构的数据快照: 具体来说,我正在做的是获取Data / Images子级的快照,因此这将是具有自动生成的引用的三个条目,例如, 因此我无法访问特定条目来检索作者的地址,因此我做了我的应用程式 而且我不确定如何遍历此快照的每个条目并在不知道父引用的情况下检索条目的信息。()? 感谢克里斯,感谢他向我发送了正确的搜索路径,但仍然无法构建正确的语法来实现我的目标。 现在,我

  • 我有一个现有的 Kafka 主题和一个从那里读取并写入 HDFS 的 flume 代理。我想重新配置我的水槽代理,以便它脱离现有设置;一个 Kafka 源,文件 Channel 到 HDFS Sink,以使用 Kafka 通道。 我在cloudera文档中读到,仅使用Kafka通道和HDFS接收器(没有水槽源)就可以实现这一目标。(除非我弄错了棍子的一端。所以我尝试创建此配置,但它不起作用。它甚至

  • 我正在编写一个剧本,它旋转X个EC2 AWS实例,然后在它们上安装一些软件(apt包和pip模块)。当我运行playbook时,它会在我的本地系统上执行shell命令,因为Ansible不会运行,除非我指定一个主机并放置localhost。 在playbook中,我尝试在顶层指定“hosts:all”,但这只会让playbook运行一秒钟而不做任何事情。 EC2实例创建得很好,“wait for

  • 根据fetch规范,只要指定了,即“应用程序/x-www-form-urlencoded”、“多部分/表单数据”或“文本/普通”中的一种,并且满足了其他条件,则POST请求不应导致飞行前请求。然而,在实践中,我很难以一种不会导致选项请求进行飞行前检查的方式指定用于获取的多个标头。 例1。 例2。 ex 3. 这两个示例都无法在没有飞行前请求的情况下成功地进行请求,但只使用似乎可以正常工作。然而,这

  • 问题内容: 我正在使用nodejs和expressjs框架从服务器下载文件’jsonFile.json’。 我正在使用以下代码 但这会导致对整个文件内容的响应。 我期望浏览器要我将文件保存在本地磁盘中。 如何将文件保存在本地磁盘中? 问题答案: 让Express设置正确的标头,然后执行以下操作: (doc) 编辑: 由于您是通过AJAX调用进行请求的,因此您必须更改设置,因为大多数(全部?)浏览器

  • 是否可以从索引中删除单个映射类型而不删除整个索引?https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-delete-mapping.html说这已经不可能了,但我觉得这很难相信。有人能解释为什么删除了该功能吗?似乎是基本的东西。 我有一个具有两个映射的索引。我希望能够删除一种映射类型(以及该类型的所有文档)