这个问题在这里已经有答案了:
什么是nullpointerexception,如何修复它(12个答案)
四年前关门了。
我写了一个简单的函数:
private String getOperatorForCardinality(String op)
{
String operator ="";
if(op!=null)
{
if(op.equals(">="))
{
operator = ">=";
}
else if (op.equals("<="))
{
operator = "<=";
}
}
else
{
operator = "empty";
}
return operator;
}
返回一个字符串。
在我调用这个函数的主程序中,当参数为null时,编译器将显示nullpointerexception错误。原因很清楚,但我不知道如何处理参数传递的空值。
4条答案
按热度按时间kxxlusnw1#
你发布的代码不可能抛出npe。错误在其他地方,或者您没有运行您认为是的代码(如没有重新编译等)。
也就是说,您的方法可以简化为:
如果你不介意的话:
更少的代码通常是更清晰的代码,留给bug潜伏的地方也更少。
toiithl62#
这称为防御编程,您应该执行以下操作:
您应该考虑您的方法应该如何React,如果参数为null,是否需要返回null或抛出异常?通常你不能确定一个参数永远不会为空,所以你必须检查并采取行动。
o2g1uqev3#
这不能引发空指针异常:
i2loujxw4#
尝试相反方向