【问题标题】:@SuppressWarnings annotation not recognized by compiler/text editor编译器/文本编辑器无法识别 @SuppressWarnings 注释
【发布时间】:2014-02-14 06:48:27
【问题描述】:

这似乎非常基本,但我搜索了多少我都找不到解决方案。

我想通过添加 @SuppressWarnings 注释来抑制 java 中的警告,但编译器不接受它,文本编辑器也不给它特殊颜色。就像注释不存在一样。

文本编辑器是Notepad++,我只是用最新的JDK从命令行编译。

class Table<T> implements AbstractTable<T>{

    T[] elements;

    @SuppressWarnings()
    Table(int length){
        elementer = (T[]) new Object[lengde]; //this is why I want to suppress
    }
}

我一定错过了一些重要的东西,我做错了什么?

【问题讨论】:

  • 你能发布你的代码吗?你有正确的进口吗?您遇到的确切错误是什么?你用的是什么版本的java?
  • 谢谢,现在添加了一些代码。错误消息取决于我放置注释的位置。如果我把它放在类之上,就像在例子中一样,它期望它是一个类声明,如果我把它放在方法之上,它期望一个方法。
  • 发布代码注释。以及您从编译器获得的准确且完整的错误消息。

标签: java annotations


【解决方案1】:

您的编辑器无法识别注释,因为您的编辑器没有该功能。 Notepad++ 有非常基本的基于关键字的语法高亮显示,仅此而已。它没有编译器知道 @SuppressWarnings 应该是什么 - 或任何注释。

至于编译器为什么拒绝你的注解:你还没有定义强制属性value。您必须告诉编译器要忽略哪些警告,例如:

@SuppressWarnings("unchecked")

如果您不想听到未经检查的转化。

我的建议是获得合适的 IDE,例如 Eclipse、IntelliJ IDEA 或 NetBeans。 Notepad++ 中的编码对于基本的 HelloWorld 来说已经足够了,但仅此而已。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多