如果我没有将BigDecimal.divide()
方法的结果分配给变量,我会收到IntelliJ Idea的警告:
忽略BigDecimal.divide()的结果。
我可以以某种方式为我自己的(无副作用)功能发出相同的警告吗?像为我的函数分配Java注释的东西。
答案 0 :(得分:10)
这是“忽略方法调用的结果”检查。默认情况下,它仅报告几种特殊方法,包括java.lang.BigDecimal
的所有方法。在检查配置中,您可以添加应以这种方式报告的其他类和方法。
“报告所有忽略的非库调用”复选框选择项目中的所有类。
如果要使用注释,可以使用JSR 305 annotation
注释单个方法或整个类javax.annotation.CheckReturnValue
自IDEA 2016.3起,您甚至可以使用error prone annotation
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
}
}