当前位置: 首页 > 知识库问答 >
问题:

爪哇大师没有警告非穷尽开关

滕渝
2023-03-14

如果您打开枚举,但既不涵盖所有情况也不提供默认值,则获取编译器警告很有用。本网站上的其他答案建议javac应该提供这样的警告。

我正在使用Maven,并在pom.xml中添加了以下内容,试图启用所有警告:

    <plugin>
      <artifactId>maven-compiler-plugin</artifactId>
      <version>3.8.0</version>
      <configuration>
        <compilerArgs>
          <arg>-Xlint:all</arg>
        </compilerArgs>
        <showDeprecation>true</showDeprecation>
        <showWarnings>true</showWarnings>
      </configuration>
    </plugin>

但是编译器仍然对我的代码中的非exhasting switch语句保持沉默。我是否可以设置其他标志来启用此类警告?

共有1个答案

谷梁承宣
2023-03-14

我知道这样的警告是因为:

    < li >外部设置,如IDE Eclipse
    ( 窗口-

后者应该引起人们的兴趣:

注释处理器将确保您收到编译时错误。
该项目还包括一个部分枚举映射器类,您可能希望使用该类而不是 switch 语句。

该项目在Maven Central中可用,因此您可以将其添加到依赖项中。

要点仍然是:

javac非标准选项(如-Xlint)可能不足以捕获部分开关枚举用例
它只会检测失败案例:<code>开关</code>块中的案例,而不是块中的最后一个案例,其代码不包含中断语句,允许代码执行从该案例“失败”到下一个案例。

 类似资料:
  • 问题内容: 我有这个Java代码段。我是Java的菜鸟。 错误: 码: 问题答案: 是的,这是问题所在: 在课程的最高级别,您只能拥有: 实例初始化程序块() 静态初始值设定块() 变量声明 构造函数声明 方法声明 嵌套类型声明 终结器声明 这些都不是。如果你 的意思 来声明一个变量,你应该这样做: 如果这 不是 您想要的,则应解释您的意图。 编辑:修复此问题后,此编译器错误似乎很明显: Conf

  • 我已经红色了多篇文章和讨论,但我仍然有一些不确定性:我不确定是否应该使用或任何其他类型来存储预订-在“在线预订”的意义上(因此来自不同国家/时区的参与者需要在时间线上的同一时刻会面)。我倾向于使用,因为DB和Backend设置为UTC,并且由于传入的“创建预订”json消息包含ISO 8601(带偏移量)start DateTime 让我们采用以下设置:1.数据库(UTC、Oracle、MSSQL

  • 我的问题是关于cucumber特性文件的并行执行。在Selenium Java中,可以通过一个runner类并行运行多个cucumber特性文件吗? 我尝试过不同的方法,但都没有成功。

  • 当我运行程序而不是找到骑士之旅时,我收到了一个StackOverflow错误。任何想法是什么导致了这一点,以及我如何改变我的代码,实际上找到骑士之旅,并摆脱这个错误。项目是为我的CS280课程,并在周五到期,请帮助。谢谢!!

  • 一个能够让程序猿快速开发的炒鸡脚手架,核心技术Spring、JPA、Shiro。 基础环境 JDK1.8、Maven、Mysql、Redis、IntelliJ IDEA、minio、fastdfs 相关组件 - ok-admin - vue - iView - echarts - clipboard - cropperjs - lightbox - nprogress - webuploader

  • 我使用的是,它最终扩展自。当我将look and feel更改为时,文本区域不会像GUI的其他部分那样受到影响,这看起来不太好。 这是我使用的主题代码: 我想知道需要哪个键来修改文本区域的背景色,例如,将左侧中的紫色设置为背景色,而不是白色? 下面是我找到的键的列表,但在这种情况下,它们中有没有哪一个有用?