检查是否为空是一种好的做法还是坏的做法?
我见过这样的代码,其中几乎所有应用层中的每个变量都被检查为不是null
。我也看到过几乎没有这个的代码。
if(object != null){}
检查变量是否为空的最佳实践是什么?得到NullPointerException
真的是一件坏事吗?这一切null
检查是否可能是您的应用程序运行状况不佳的症状?
解决方案
最好显式检查是否为空,因为:
- 您可以更早地捕获错误。
- 您可以提供更具描述性的错误消息。
NullPointerException
,您可能无法准确计算出哪个变量为空。即使您有引发异常的行号,该行上可能仍有多个变量。
将这些检查放入您的公共界面中尤为重要。这是因为当您的用户提供了不正确的参数时,他们应该得到一个IllegalArgumentException
,告诉他们他们犯了一个错误。如果他们只是返回NullPointerException
,则无法确定他们提供的参数是否不正确,或者您的代码中是否存在错误。
相关文章