小编Ami*_*oel的帖子

为什么java在编译时还原逻辑运算符

实际的java代码是:

((rrd == null || !rrd) 
    && null != dam
    && null != dam.getac()
    && null != dam.getac().getc() 
    && null != sname 
    && sname.equalsIgnoreCase(dam.getac().getc()))
Run Code Online (Sandbox Code Playgroud)

但是当我查看类文件时,它是:

((rrd != null) && (rrd.booleanValue())) 
    || ((((null == dam) 
    || (null == dam.getac()) 
    || (null == dam.getac().getc()) 
    || (null == sname) 
    || (!(sname.equalsIgnoreCase(dam.getac().getc()))))))
Run Code Online (Sandbox Code Playgroud)

所有||&&互换.

有谁能解释为什么?

java

7
推荐指数
1
解决办法
122
查看次数

标签 统计

java ×1