当我没有将BigDecimal.divide()
方法的结果赋给变量时,我从IntelliJ Idea中得到了一个很好的警告:
BigDecimal.divide()的结果被忽略.
我可以以某种方式为我自己的(无副作用)功能获得相同的警告吗?像为我的函数分配Java注释的东西.
这是"忽略方法调用的结果"检查.默认情况下,它只报告几种特殊方法,包括所有方法java.lang.BigDecimal
.在检查配置中,您可以添加应以此方式报告的其他类和方法.
"报告所有忽略的非库调用"复选框选择项目中的所有类.
如果要使用注释,可以使用JSR 305注释注释单个方法或整个类
javax.annotation.CheckReturnValue
自IDEA 2016.3以来,您甚至可以使用容易出错的注释
com.google.errorprone.annotations.CanIgnoreReturnValue
从返回值检查中排除单个方法.使用两个注释,您可以编写如下类:
import javax.annotation.CheckReturnValue; import com.google.errorprone.annotations.CanIgnoreReturnValue; @CheckReturnValue class A { String a() { return "a"; } @CanIgnoreReturnValue String b() { return "b"; } void run() { a(); // Warning b(); // No warning } }