我写了一句神奇的代码可是这个代码是什么意思?

if (args==null?true:(args.remove(null)?args.size()==0:null))

我本意只是想试试判断这个list是否为空,如果不是null就移除其中的null元素判断他是否数量还大于一,但是问题是怎么在if中写先后执行语句呢?然后我就写了个这东西,偏偏还没报错!

前面是boolean 最后是null 编译的时候认为null是Boolean取消装箱的,编译不会报错,当你运行是if判断进入最后那个null时就会报错了

if里面就两个值,true和false

我觉得你想要的是这样的代码if (args==null || (args.remove(null)?args.size()==0:null))