Eclipse错过了一个警告(交换机中的枚举)

时间:2014-04-01 14:50:45

标签: java eclipse enums

我在OS X 10.9.2上使用Eclipse Kepler Service Release 2(J2EE版)和Java 6。

假设我有一个枚举:

public enum Colors { RED, GREEN, BLUE }

假设我有一个使用它的开关:

Colors color = ...
switch (color) {
  case RED: return something();
  case BLUE: return somethingElse();
  default: throw new IllegalArgumentException("Unknown color: " color);
}

很明显,我忘记为GREEN添加标签(也许我稍后会添加)。 Eclipse正确告诉我情况如此:color语句中的switch()加下划线如下:

Underlined word color

Warning text

警告信息显示:

The enum constant GREEN should have a corresponding case label in this enum switch on Colors. 
To suppress this problem, add a comment //$CASES-OMITTED$ on the line above the 'default:'

我的问题:此警告未显示在“标记”视图中,也未显示在“问题”视图中!现在找到它的唯一方法是使用switch()转到代码并看到黄色下划线。

这可能不是我的标记过滤掉的情况:配置内容>显示所有项目,但警告不在列表中。

我做错了什么?

更新:将此警告级别更改为错误无效 - 我的代码显示红色下划线,但问题/标记中仍然没有错误。 全新的Eclipse下载,全新的工作区解决了这个问题。 在不同的角度(J2EE / Java)之间切换没有帮助。

1 个答案:

答案 0 :(得分:0)

如果您在源代码编辑器中看到错误或警告,但它未显示在问题视图中,则您可能已禁用自动构建。问题视图中的标记只会在构建运行后显示。无论构建如何,源编辑器中的标记将在您完成输入后立即可用。

所以..

  1. 刷新项目
  2. 从项目菜单中触发清洁构建
  3. 此问题视图中的标记应显示在此处
  4. 当您想要查看问题视图时,可以打开自动构建或记住手动触发构建