每个方法都接受一组参数值。我们应该始终验证输入参数的非空性还是允许代码因经典的 RunTimeException
而失败?
我见过很多代码,人们并没有真正检查输入参数的空性,而只是使用参数编写业务逻辑。最好的方法是什么?
void public( String a, Integer b, Object c)
{
if( a == null || b == null || c == null)
{
throw new RunTimeException("Message...");
}
.....business logic.....
}
最佳答案
最好的方法是仅在必要时检查。
如果你的方法是 private
,例如,你知道没有其他人在使用它,并且你知道你没有传递任何空值,那么没有必要再次检查。
如果你的方法是 public
,谁知道你的 API 的用户会尝试做什么,所以最好检查一下。
如果有疑问,请检查。
但是,如果您能做的最好的事情是抛出 NullPointerException
,那么可能不想检查。例如:
int getStringLength(String str) {
return str.length();
}
即使您检查了 null
,一个合理的选择是抛出 NullPointerException
,str.length()
将为您做无论如何。
关于java - 我们是否应该总是在第一行检查java中方法的每个参数是否为null?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5172948/