“this”在Java中可以为空吗?
在类方法中看到这句话,我的第一反应是嘲笑编写它的开发人员。但后来,我想我应该首先确保我是对的。
public void dataViewActivated(DataViewEvent e) {
if (this != null)
// Do some work
}
这条线会评估为假吗?
在类方法中看到这句话,我的第一反应是嘲笑编写它的开发人员。但后来,我想我应该首先确保我是对的。
public void dataViewActivated(DataViewEvent e) {
if (this != null)
// Do some work
}
这条线会评估为假吗?
不,它不能。如果您使用的是 ,那么您就在实例中,因此不为 null。this
this
JLS说:
用作主表达式时,关键字 this 表示一个值,该值是对为其调用实例方法的对象 (§15.12) 或对正在构造的对象的引用。
如果您从对象调用了一个方法,则该对象存在,或者您将有一个之前的方法(或者它是一个静态方法,但是,您不能在其中使用)。NullPointerException
this
资源:
这就像问自己“我还活着吗? 永远不能为空this