来自“@SuppressWarnings”的奇怪结果

Weird result from "@SuppressWarnings"

Eclipse 警告我局部变量 randInt 可能未初始化(它是)。所以我添加了第一行:

@SuppressWarnings("all")
return randInt;

警告消失了,但我在第一行收到两个新错误: 语法错误:插入 "enum Identifier" 来完成 EnumHeaderName,并且 语法错误:insert "EnumBody" to complete BlockStatement

到底是什么?很难找到有关@SuppressWarnings 的信息。有没有比使用 "all" 更精确的方法来消除这个特定的警告?

最小的、完整的、可验证的例子:

public class SuppressTest {
    public int cut() { 
        int randInt = 0; 
        @SuppressWarnings("all") 
        return randInt;
    }
}

您不能在 return 语句中插入 @SuppresWarnings。在 java 8 中,您只能注释 类、methods/constructors、字段、参数和(java 8 中的新功能)局部变量。

所以在你的情况下 java 无法解析你所写的内容。在方法级别移动 @SuppressWarnings