我已经制作了很多代码,但我从来没有这么做过。我在JRE 1.8.0_66上运行。
我写了一个名为Grenade
的抽象类。比我在班级Profile
中做出这些陈述:
public class Profile {
Grenade varGrenade; // Field
public void check() {
varGrenade = null; // set reference to null
System.out.println("Am i null: " + this.varGrenade == null);
}
}
此语句返回
我是null:false
如果我想打印varGreanade
的结果,则会打印null
。我哪里出错了? (不知道它是否有抽象手榴弹类的东西)如何在不抛出null
的情况下检查NullPointerException
?
答案 0 :(得分:1)
"Am i null: " + this.varGrenade
不为空。
您需要括号来强制它连接到空检查。
(就像1 + 2 == 3
并不代表1 + (2 == 3)
)
答案 1 :(得分:1)
这只是一个括号问题。你想要的是
System.out.println("Am i null: " + (this.varGrenade == null));
你得到的是
System.out.println(("Am i null: " + this.varGrenade) == null);