我知道对公共API中的每个参数进行NULL检查是java中的一个好习惯。但只是好奇,我们是否需要在所有方法的前面做这样的NULL检查。这样做肯定有价值:提前捕获错误并提供更好的错误消息。但它是否值得,我的意思是在所有方法中进行相同的NULL检查似乎太乏味了。如果需要,为什么JVM默认不能执行该任务。
请分享您的想法。
答案 0 :(得分:4)
如果需要,为什么JVM默认不能执行该作业。
确实如此!它检查值是否为null,如果不为,则抛出NullPointerException
。在许多情况下,这是适当的行为,您无需更改它。
答案 1 :(得分:0)
通常,最简单的方法是简单地声明变量或方法,以便它们永远不会返回null。但是,有时它是不可避免的,就像API中的一些现有方法一样,并且一些自创的方法和变量需要设置空值。我个人建议尽可能避免使用空值 - 总是最好从开始声明一个变量,或者让一个方法返回,例如,如果某个操作失败,则返回-1而不是null。一般来说,如果你知道变量或方法可能有一个空值,你应该在开头做一个空检查,只是为了安全起见。
希望这会有所帮助,祝你好运!