Java注释:make@NotNull

Java注释:make@NotNull,java,Java,我正在学习Java注释,我想设计一个类似@NotNull的注释,它强制编译器在以下方面抛出错误: @NotNull private String myVar = null; 现在,我没有得到任何线索,在注释正文中写什么: @interface NotNull{ // what goes here } 我可以使用注释设计这样的功能吗?或者我读错了?我正在查看checker包,它包含一个这样的注释。您只能在注释中定义“meta”属性本身,没有实际的逻辑 对于编译时注释逻辑,您需要编写一个

我正在学习Java注释,我想设计一个类似@NotNull的注释,它强制编译器在以下方面抛出错误:

@NotNull
private String myVar = null;
现在,我没有得到任何线索,在注释正文中写什么:

@interface NotNull{
    // what goes here
}
我可以使用注释设计这样的功能吗?或者我读错了?我正在查看checker包,它包含一个这样的注释。

您只能在注释中定义“meta”属性本身,没有实际的逻辑

对于编译时注释逻辑,您需要编写一个(在编译期间执行的常规java代码,允许您使用反射检查注释元素),在运行时,您可以使用常规反射API,您只能在注释中定义“meta”属性本身,而不能定义实际的逻辑


对于编译时注释逻辑,您需要编写一个(在编译期间执行并允许您使用反射检查注释元素的常规java代码),在运行时,您可以使用常规反射API,否则您必须实现注释处理器。请看,它对注释有一些解释。您可能希望查看契约式设计,尽管它不会导致编译器失败,但如果您通过检查器运行代码,它将确认您指定的契约从未被破坏。您可以使用注释处理器,否则必须实现注释处理器。请看,它对注释有一些解释。您可能希望查看契约式设计,尽管它不会导致编译器失败,但如果您通过检查器运行代码,它将确认您指定的契约从未被破坏。