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

2023-11-23

当我不分配结果时BigDecimal.divide()方法到变量时,我从 IntelliJ Idea 收到了一个很好的警告:

BigDecimal.divide() 的结果被忽略。

我可以以某种方式为我自己的(无副作用)函数获得相同的警告吗?比如为我的函数分配一个 Java 注释。


这是“方法调用结果被忽略”检查。默认情况下,它只报告几个特殊方法,包括所有方法java.lang.BigDecimal。在检查配置中,您可以添加应以这种方式报告的其他类和方法。

enter image description here

“报告所有忽略的非库调用”复选框选择项目中的所有类。

如果要使用注释,可以使用注释单个方法或整个类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
  }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

IntelliJ Idea 中无副作用方法的未使用结果的警告 的相关文章

随机推荐

  • 从 ASP.NET Web API 中删除 XML 中的命名空间

    如何使用 Web API 从下面的 xml 响应中删除命名空间
  • 名称不能以“1”字符开头,十六进制值 0x31。 2 号线,2 号位置

    在 C 应用程序中加载 XML 文件时 我得到 名称不能以 1 字符开头 十六进制值 0x31 2 号线 2 号位置 XML 标签是这样开始的
  • /tmp/tomcat-docbase 始终使用 Spring Boot JAR 创建(但不是 WAR)

    我正在从 STS 创建一个标准 Spring Boot 1 5 2 Web 项目 如果运行此应用程序 您会创建两个目录 普通的 base 目录和 tomcat docbase 目录 4096 Mar 29 10 00 tomcat 2743
  • JSON输出重音问题

    我已经搜索了大约 3 个小时 我知道有很多像这样的问题已经被问过 但在尝试输出重音字符时 我还没有找到任何适合我的问题的解决方案我的数据库上的 SELECT 查询的结果 itemsList array while row mysql fet
  • 修改图像元数据

    我正在尝试修改 JPEG 图像中包含的元数据 它可以是图像中的任何元数据 在我的示例中 我尝试更改为DateTimeDigitized财产到当前日期 我的代码似乎大部分工作 但是设置的属性被删除而不是更改 我不确定为什么会发生这种情况 谁能
  • 如何通过PHP删除文件?

    如果文件位于另一个目录中 如何使用 PHP 从服务器中删除该文件 这是我的页面布局 projects backend removeProjectData php 此文件删除了我在数据库中的所有条目 并且还应该删除相关文件 public fi
  • pandas astype 类别不起作用

    我厌倦了将列更改为catgeory使用来自的文档http pandas pydata org pandas docs stable categorical html df pd DataFrame A 1 2 3 4 5 B a b c d
  • 为什么这条 Scala 行返回一个 Unit?

    下面是一段 Scala 代码 用于对 1 到 9 之间可被 3 或 5 整除的值求和 为什么第 5 行返回 Unit 而不是 Boolean 类型 object Sample def main args Array String val a
  • Web Worker 内部的 DOM 操作

    我知道工人can t直接操作文档 但是 DOM API 方法怎么样 他们去哪儿了 例如 如果我发出一个接收 HTML 片段的请求 如果只需要解析它以便从特定节点检索一些数据 我应该做什么 绝对有no way在 Web Worker 上使用虚
  • 请求:如何禁用/绕过代理

    我收到一个网址 r requests get http myserver com 正如我在 myserver com 的 access log 中看到的 使用了客户端的系统代理 但我想完全禁用代理requests 我目前知道禁用代理的唯一方
  • 如何在android中获取当前位置的邮政编码或区号?

    我想获取我的应用程序的 Android 设备中当前位置的邮政编码 以及找到它的任何示例或片段 我尝试过地理编码器 它仅提供纬度和经度位置 那你显然没有使用它 Geocoder geocoder new Geocoder this Local
  • 有没有办法将子例程的打印输出捕获到变量,以便我可以将其发送到 stderr?

    假设我们有 sub test print testing n 如果我想将其打印到 stderr 而不是 stdout 有没有办法可以调用子例程来执行此操作 或者我可以将输出捕获到变量然后使用警告吗 我对 Perl 还很陌生 就在这里 pri
  • 如何在录制时将音频添加到视频中[连续捕获活动] [Grafika]

    我使用实现视频录制ContinuousCaptureActivity java 工作完美 现在我想在此视频中添加音频 我知道使用媒体混合器可以在视频中添加音频 但问题是我不知道如何使用MediaMuxer 另外 如果您有任何其他解决方案而无
  • R,将多行文本数据框合并到一个单元格中

    我有一个如下所示的文本数据框 gt nrow gettext df 1 3 gt gettext df gettext 1 hello 2 Good to hear back from you 3 I ve currently writte
  • git github无法推送到原点

    我可能遗漏了一些东西 但我确信我已经检查了所有内容 我分叉了一个存储库并将其克隆到我的系统上 做了一些改变 提交后 做过git push origin master it says fatal remote error You can t
  • 如何让AngularJS编译指令生成的代码?

    请帮助我 我们如何让 AngularJS 编译指令生成的代码 您甚至可以在这里找到相同的代码 http jsbin com obuqip 4 edit HTML div names 0 names 1 br div
  • 异常 android.support.multidex.MultiDexApplication 无法转换类

    我有一个问题 我的应用程序生成此异常 但我不明白 我已经在 build gradle 中实现了 multiDexEnabled Caused by java lang ClassCastException android support m
  • 将 Log4j 输出写入 HDFS

    有没有人尝试过write log4j日志档案直接地to Hadoop分布式文件系统 如果是 请回复如何实现这一点 我想我必须为它创建一个Appender 是这样吗 我的需要是以特定的时间间隔将日志写入文件 并在稍后阶段查询该数据 我建议使用
  • 从 C# 中的字符串文件路径中删除多余的反斜杠“\”

    如何转换 String path C Abc Omg Why Me into String path C Abc Omg Why Me 我的做法是首先reverse the string进而移除所有 the 直到我们得到first char
  • IntelliJ Idea 中无副作用方法的未使用结果的警告

    当我不分配结果时BigDecimal divide 方法到变量时 我从 IntelliJ Idea 收到了一个很好的警告 BigDecimal divide 的结果被忽略 我可以以某种方式为我自己的 无副作用 函数获得相同的警告吗 比如为我