相关疑难解决方法(0)

Java中的"this"可以为null吗?

在一个类方法中看到这一行,我的第一反应是嘲笑编写它的开发人员..但是,我认为我应该确保我是对的.

public void dataViewActivated(DataViewEvent e) {
    if (this != null)
        // Do some work
}
Run Code Online (Sandbox Code Playgroud)

那条线路会被评估为假吗?

java this

108
推荐指数
4
解决办法
2万
查看次数

使用未初始化的最终字段 - 有/没有'这个'.预选赛

有人可以向我解释为什么以下两个样本中的第一个编译,而第二个没有?注意唯一的区别是第一个明确地使用'.this'限定对x的引用,而第二个没有.在这两种情况下,显然都会尝试在初始化之前使用最终字段x.

我原以为两个样本都会被完全平等对待,导致两者都有编译错误.

1)

public class Foo {
    private final int x;
    private Foo() {
        int y = 2 * this.x;
        x = 5;
    }
}
Run Code Online (Sandbox Code Playgroud)

2)

public class Foo {
    private final int x;
    private Foo() {
        int y = 2 * x;
        x = 5;
    }
}
Run Code Online (Sandbox Code Playgroud)

java

54
推荐指数
1
解决办法
2346
查看次数

标签 统计

java ×2

this ×1