首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >空指针异常

空指针异常
EN

Stack Overflow用户
提问于 2009-08-14 12:52:06
回答 5查看 2K关注 0票数 4

这可能是一个令人生疑的问题。我将字符串变量初始化为value.Now。我可能用空指针更新它,也可能不用空指针更新它。我想检查这个变量是否不等于空,无论我怎么尝试,都会得到一个空指针异常。我不能抛出空指针异常,因为它是costly.Is有任何解决方法是efficient.TIA

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-08-14 12:55:10

如果您使用

代码语言:javascript
复制
if (x == null)

您将得不到NullPointerException

我怀疑你在做什么:

代码语言:javascript
复制
if (x.y == null)

这是因为x为null,而不是因为x.y为null。

如果这还不能解释它,请发布你用来测试空性的代码。

票数 3
EN

Stack Overflow用户

发布于 2009-08-14 13:01:16

我猜你正在做这样的事情,

代码语言:javascript
复制
  String s = null;

  if (s.equals(null))

您可以像这样检查null

代码语言:javascript
复制
  if (s == null)

一种更好的方法是忽略null,只检查期望值,如下所示,

代码语言:javascript
复制
  if ("Expected value".equals(s))

在这种情况下,当s为null时,结果始终为false。

票数 3
EN

Stack Overflow用户

发布于 2009-08-14 12:56:29

字符串是不可变的

代码语言:javascript
复制
@Test(expected = NullPointerException.class)
public void testStringEqualsNull() {
    String s = null;
    s.equals(null);
}

@Test
public void testStringEqualsNull2() {
    String s = null;
    TestCase.assertTrue(s == null);
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1277684

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档