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