NonNull注释 - 非法重新定义参数(Eclipse)

时间:2015-09-13 15:03:46

标签: java eclipse non-nullable

我正在尝试使用Eclipse NonNull注释,但是我无法理解下面描述的行为。我不明白Eclipse在抱怨什么......

Compiles / Eclipse不会抱怨任何事情:

import org.eclipse.jdt.annotation.NonNull;    
public class NonNullStaticInnerClasses {

        public static class NonNull1{
            protected String nonNullString;
            public void setNonNullString(@NonNull String nonNullString){
                this.nonNullString = nonNullString;
            }
        }

        public static class NonNull2 extends NonNullStaticInnerClasses.NonNull1 {
            public void setNonNullString(@NonNull String nonNullString){
                this.nonNullString = nonNullString;
            }
        }
    }

Eclipse抱怨"非法重新定义参数nonNullString,NonNull1的继承方法不限制此参数"但编译/运行良好:

import org.eclipse.jdt.annotation.NonNull;

public class NonNull1{
    protected String nonNullString;
    public void setNonNullString(@NonNull String nonNullString){
        this.nonNullString = nonNullString;
    }
}

public class NonNull2 extends NonNull1 {
    public void setNonNullString(@NonNull String nonNullString){
        this.nonNullString = nonNullString;
    }
}

enter image description here

环境: Eclipse 4.4.1使用Jdk8(编译器合规级别:1.8) enter image description here

0 个答案:

没有答案