1

我正在尝试测试 null 参数,但您无法将对象与 null 进行比较。

以下是死代码:

    } else if(x == null){
        throw new NullPointerException("Parameter is null");
    }

如何重写它以获得预期的效果?

4

3 回答 3

4

在 Java 中,您可以与值 null 进行比较。执行此操作的标准方法如下:

String s = null;
if(s == null)
{  
    //handle null
}  

在现实世界中,通常抛出 NPE 是一种糟糕的做法。

于 2012-02-16T04:20:26.727 回答
2

使用 Java 字面意义上的句柄

Foo foo = bar.couldReturnNull();
try {
   foo.doSomething();
} catch (NullPointerException e) {
   System.out.println("bar.couldReturnNull() returned null");
   throw new NullPointerException();
}
于 2012-02-16T04:12:23.383 回答
1

您没有明确地说,但是由于 NullPointerException,这看起来像 Java。是的,您可以将对象引用与 null 进行比较,因此这段代码很好。您可能将它与 SQL 混为一谈,在这种情况下,没有什么东西可以与 null 相提并论。

于 2012-02-16T04:11:18.540 回答