在Java中,我使用了使用註釋的「空分析」。我不使用Eclipse的默認註釋,並且我已經定義了我的擁有者。在Java8中使用空分析註釋
對於每個包,我用於在package-info.java
文件中添加一個全局NonNullByDefault
註釋。
使用Java版本< = Java7,下面的代碼沒有問題,一切正常。
@my.package.annotations.NonNullByDefault
package my.foo.package;
但是,當我設置的Eclipse是Java8兼容的(我的系統上安裝的唯一JDK是Java8),然後出現錯誤:
默認NULL的含量標註尚未爲包指定my.foo.package - Java的問題
我的註釋按以下方式聲明:
@Retention(RetentionPolicy.CLASS)
@Target({ ElementType.PACKAGE, ElementType.TYPE,
ElementType.METHOD, ElementType.CONSTRUCTOR })
public @interface NonNullByDefault {
// marker annotation
}
Java8中有什麼新東西呢?有人能解釋我使用我的註釋的好方法嗎?
請提供'NonNullByDefault'註釋的完整定義。 –
註解僅用於檢查它是否存在。沒有代碼。 @Retention(RetentionPolicy.CLASS) @Target({ElementType.PACKAGE,ElementType.TYPE,ElementType.METHOD,ElementType。CONSTRUCTOR}) 公共@interface NonNullByDefault { \t //標記註釋 } 而且它工作正常使用Java7遵守 – hiveship