检查NULL是好的还是坏的做法?

5 java null programming-languages exception-handling

我已经看到了几乎所有应用程序层中的每个变量都被检查的代码null.我也看到了代码几乎没有这个.

if(object != null){}
Run Code Online (Sandbox Code Playgroud)

检查变量是否为NULL的最佳做法是什么?它真正有意义,并且变得NullPointerException非常糟糕 - 所有这些null检查可能是您的应用程序健康状况不佳的症状吗?

Mar*_*ers 6

明确检查null是个好主意,因为:

  • 您可以提前捕获错误.
  • 您可以提供更具描述性的错误消息.

如果你得到了一个,NullPointerException你可能无法确切地知道哪个变量是null.即使您有抛出异常的行号,该行上仍可能有多个变量.

将这些检查放在公共界面中尤为重要.这是因为当您的用户提供不正确的参数时,他们应该IllegalArgumentException告诉他们他们犯了错误.如果他们刚回来,NullPointerException他们无法判断他们是否提供了错误的参数,或者您的代码中是否存在错误.