我有时会从下面的行中获得NullPointerException
。
System.out.println("Date::"+ row != null ? row.getLegMaturityDate() : "null");
添加括号后,没问题。
System.out.println("Date::"+ (row != null ? row.getLegMaturityDate() : "null"));
请澄清我的行为。提前谢谢。
答案 0 :(得分:13)
"Date::" + row
永远不会为空,尽管row
有时是。
也就是说,"Date::"+ row != null
相当于("Date::"+ row) != null
,它始终为真。
答案 1 :(得分:2)
这是运营商优先权的问题。 Christoffer Hammarström有执行摘要。有关详细信息,请参阅此页http://bmanolov.free.fr/javaoperators.php。