Java 如何在IntelliJ IDEa中添加@Contract注释?

Java 如何在IntelliJ IDEa中添加@Contract注释?,java,intellij-idea,annotations,Java,Intellij Idea,Annotations,我已经看到IntelliJ IDEa在一些方法旁边有一个小小的@标记,当它可以静态地推断一个契约已经满足时 例如,在以下代码中: public void method(Object arg1, Object arg2){ assert arg1 != null; //Do something.. } Te IDE提出了以下@Contract:@Contract(“null,\->fail”)。IntelliJ IDEa可以通过一些命令添加此合同吗?我尝试了左/右单击,但没有帮助 另

我已经看到IntelliJ IDEa在一些方法旁边有一个小小的
@
标记,当它可以静态地推断一个契约已经满足时

例如,在以下代码中:

public void method(Object arg1, Object arg2){
   assert arg1 != null;
   //Do something..
}
Te IDE提出了以下@Contract:
@Contract(“null,\->fail”)
。IntelliJ IDEa可以通过一些命令添加此合同吗?我尝试了左/右单击,但没有帮助


另外,这些注释是如何工作的?静态推断的契约注释被代码分析用作显式注释,因此实际上不需要显式添加它们。但是,如果仍然要添加它们,只需将文本光标定位在方法名称上,然后按Alt+Enter并调用
Insert'@Contract(value=“XXX”)'
intention即可。此意图在设置中称为
使推断注释显式

@Contract intention的语法和用法在2013年10月21日发布的博客文章中有很好的解释