可以“这”永远在Java?

在类方法中看到这一行,我的第一反应是嘲笑开发者编写它..但是,我想我应该确保我是正确的第一。

public void dataViewActivated(DataViewEvent e) {
    if (this != null)
        // Do some work
}

这行会评估为假吗?

不,它不能。如果你使用这个,那么你在实例中,所以这不是null。

JLS说:

When used as a primary expression, the keyword this denotes a value that is a reference to the object for which the instance method was invoked (§15.12), or to the object being constructed.

如果你从一个对象调用一个方法,那么该对象存在或者你将有一个NullPointerException之前(或者它是一个静态方法,但是,然后,你不能使用它)。

资源:

> JLS – this keyword

http://stackoverflow.com/questions/3789528/can-this-ever-be-null-in-java

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:可以“这”永远在Java?