【问题标题】:How can ignoring of return value be marked in Java code?如何在 Java 代码中标记忽略返回值?
【发布时间】:2019-04-13 20:41:56
【问题描述】:

有一个 C 约定来标记该函数仅为副作用而调用,在这个特定的调用中,我们对返回值不感兴趣:

(void) getSomethingAndDoAction(...);

Java 中是否有任何等价物?

【问题讨论】:

  • 添加评论这样说?
  • 恕我直言,有副作用的方法是糟糕的设计。使方法本身无效。那么很明显它一定是有副作用的。
  • 其实我也误会了,为什么不用void方法呢?
  • 我明白你的意思是stackoverflow.com/questions/689677/…,但你真的从 linter 那里得到了一些警告吗?在这种情况下,您可能也需要考虑命名 linter,因为任何类型的抑制都可能是 linter 特定的。
  • 这是一个很好的问题,不值得被关闭。在 C 中,将表达式强制转换为 void 可确保编译器您有意忽略返回值。 Java 没有void 转换,因此需要不同的解决方案。 Java 中是否存在一个问题不是结束问题的理由。

标签: java


【解决方案1】:

Error Prone project 有一个@CheckReturnValue annotation 可用于此目的。

这会使忽略返回值编译时错误除非您使用注释抑制错误:@SuppressWarnings("CheckReturnValue")

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-06
  • 1970-01-01
  • 1970-01-01
  • 2013-10-23
  • 2021-10-03
相关资源
最近更新 更多