0
boolean rhs;  
rhs = value == null;

具体来说,我不明白的部分是 = 运算符后跟值,然后是 ==。这意味着什么?

4

4 回答 4

10

由于比较==具有比分配更高的优先级,因此代码=

rhs = value == null;

是相同的

rhs = (value == null);

因此它将检查是否valuenull并将该测试的结果存储在rhs.

于 2013-10-18T02:41:11.900 回答
3

value == null是一个布尔表达式,计算结果为trueif value == null,否则为false。这个表达式的值被赋值给rhs

这2个语句相当于

boolean rhs;
if (value == null)
   rhs = true;
else
   rhs false;
于 2013-10-18T02:41:43.823 回答
1

它将评估结果分配给布尔变量:rhsvalue == null

于 2013-10-18T02:53:48.340 回答
0

这是检查是否存在的简单value方法null。如果nullthen is 将分配truerhs, else false。您可以使用以下代码自行尝试:

    String value = null;
    String value2 = "Testing";
    boolean rhs;
    System.out.println(rhs=value == null); //print true
    System.out.println(rhs);

    System.out.println(rhs=value2 == null);//print false
    System.out.println(rhs);
于 2013-10-18T02:46:47.673 回答