我正在尝试测试null参数,但您无法将对象与null进行比较。
以下是死代码:
} else if(x == null){
throw new NullPointerException("Parameter is null");
}
如何重写它以获得预期效果?
答案 0 :(得分:2)
在Java字面意义上使用句柄
Foo foo = bar.couldReturnNull();
try {
foo.doSomething();
} catch (NullPointerException e) {
System.out.println("bar.couldReturnNull() returned null");
throw new NullPointerException();
}
答案 1 :(得分:2)
在Java中,您可以将值与null进行比较。执行此操作的标准方法如下:
String s = null;
if(s == null)
{
//handle null
}
通常投掷NPE在现实世界中是一种糟糕的做法。
答案 2 :(得分:1)
您没有明确说明,但由于NullPointerException,这看起来像Java。是的,您可以将对象引用与null进行比较,因此这段代码很好。您可能将它与SQL混合在一起,其中没有任何东西比较等于null。