函数返回类型为Void时,Findbugs警告NP_NONNULL_RETURN_VIOLATION

时间:2020-09-24 06:39:05

标签: java findbugs callable code-standards

我有一个需要被调用为可调用函数。由于作为可调用函数调用的函数需要具有返回类型。我将函数的返回类型更改为Void。像这样:-

 public Void myFunction() {
    // Do somthing.
    return null;
 }

但是Findbug将其报告为警告:-

NP_NONNULL_RETURN_VIOLATION: Method may return null, but is declared @NonNull
This method may return a null value, but the method (or a superclass method which it overrides) is declared to return @NonNull.

绕过此警告的可能解决方法是:-

  1. 在函数之前使用@Nullable注释。
  2. 将函数的返回类型更改为Optional并返回Optional.empty(),但是这种方法的缺点是使函数调用者不清楚该函数的约定。

解决此警告的推荐/更好方法是什么?

0 个答案:

没有答案