检查条件的顺序

时间:2015-02-11 20:09:12

标签: java

所以我有

if(A != null && (A.getFullName() == null || A.getFirstName().equals("")){}

在检查A.getFullName之前,jvm是否先检查A.getFirstName?订单是从左到右还是可以在A.getFirstName之前检查A.getFullName?我问,因为如果A.getFullNamenullA.getFirstName会给我一个NullPointerException

1 个答案:

答案 0 :(得分:3)

是的,Java的逻辑运算符是short-circuit。在您的情况下,这意味着如果A.getFullName()返回null,则不会调用A.getFirstName()

有关进一步的讨论,请参阅Java logical operator short-circuiting