这可能是一个令人生疑的问题。我将字符串变量初始化为value.Now。我可能用空指针更新它,也可能不用空指针更新它。我想检查这个变量是否不等于空,无论我怎么尝试,都会得到一个空指针异常。我不能抛出空指针异常,因为它是costly.Is有任何解决方法是efficient.TIA
发布于 2009-08-14 12:55:10
如果您使用
if (x == null)您将得不到NullPointerException。
我怀疑你在做什么:
if (x.y == null)这是因为x为null,而不是因为x.y为null。
如果这还不能解释它,请发布你用来测试空性的代码。
发布于 2009-08-14 13:01:16
我猜你正在做这样的事情,
String s = null;
if (s.equals(null))您可以像这样检查null
if (s == null)一种更好的方法是忽略null,只检查期望值,如下所示,
if ("Expected value".equals(s))在这种情况下,当s为null时,结果始终为false。
发布于 2009-08-14 12:56:29
字符串是不可变的
@Test(expected = NullPointerException.class)
public void testStringEqualsNull() {
String s = null;
s.equals(null);
}
@Test
public void testStringEqualsNull2() {
String s = null;
TestCase.assertTrue(s == null);
}https://stackoverflow.com/questions/1277684
复制相似问题