【发布时间】:2014-03-21 14:45:14
【问题描述】:
以下代码 sn-p 导致我的程序抛出空指针异常,我正在努力确定原因:
private void ...(){
HierarchyForm hForm = (HierarchyForm)
Integer id = hForm.getId();
if (id != null && id.intValue() > 0){ <-- exception thrown here
...
}
.
.
.
}
当它崩溃时,“id”的值为空。我知道这可能很简单,但我不明白为什么。
编辑:这是一个显示失败的简短程序。 .intValue 比较似乎有问题http://ideone.com/e.js/H0Mjaf
编辑:我正在为 java 1.6.0_45 构建
【问题讨论】:
-
你确定在这一行抛出异常吗?这是不可能的。
-
如果
hForm变量为空,它会抛出一个空指针试图访问变量的.getId()方法。 -
@lakshman 如果是这样的话,代码不会掉下来,因为它会评估
if != null... -
请展示一个简短但完整的程序来说明问题。从您发布的内容看来不太可能...
-
hform 本身不为空。只是 hform id 值。整数 id 设置正确。
标签: java null nullpointerexception integer