繁体   English   中英

IntelliJ Idea中未使用副作用的方法未使用结果的警告

[英]Warnings for unused results of side-effect free methods in IntelliJ Idea

当我没有将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
  }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM