class string1 {
static public void main(String[] ar) {
String s1 = "test";
String s2 = new String();
if(s2=null) { // line 0
System.out.println(s1);
System.out.println(s2.length()); //Line 1
}
}
}
我期望发生的是
a) s2 将被设置为 null,因为它是一个赋值操作,因为我没有使用 ==
b) 我将在运行时的第 1 行获得 NPE
相反,我得到了以下输出,如下所示。
输出是
if(s2=null)
^
required: boolean
found: String
1 error
有人可以解释为什么我会收到编译错误吗?