java - 为什么抽象变量 null 不等于 null

标签 java null

我已经编程很长时间了,但从来没有接触过这个。我在 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);
    }
}

此语句返回

Am i null: false

如果我想打印 varGreanade 的结果,它会打印 null 。我哪里出错了? (不知道它是否有抽象 Grenade 类的东西)我如何检查它 null不扔NullPointerException

最佳答案

这只是括号的问题。你想要的是

System.out.println("Am i null: " + (this.varGrenade == null)); 

你得到的是

System.out.println(("Am i null: " + this.varGrenade) == null); 

关于java - 为什么抽象变量 null 不等于 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35467626/

相关文章:

ios - 来自 plist iOS 的数组

java - Spring Security 忽略 successHandler 和 failureHandler

java - 如何在 Java 中不使用递归打印反向链表?

java - 正则表达式:匹配字符串中两个标签之间的字符串

c# - 使用带有 protobuf-net 异常的代理项序列化 List<T>

java - 套接字接收 null (Android)

php - 用PHPUnit区分NULL和FALSE

c# - 为什么 View 模型为空?

java - MaterialDatePicker 不适用于 Android

java - 给定应用程序的多个 SingleThreadExecutor...是个好主意吗?