请教大家一道java笔试题:

请判断如下的一段逻辑判断tLJAGetEndorseSet 非空是否正确,并说明理由:
LJAGetEndoeseSet tLJAGetEndorseSet = new LJAGetEndoeseSet();
tLJAGetEndorseSet = tLJAGetEndorseDB.executeQuery(sql1);
if( tLJAGetEndorseSet !=null || tLJAGetEndorseSet .size()!=0){
tContNo = tLJAGetEndorseSet.get(1).getContNo();

 }

不正确,有可能报空指针异常。

因为,当tLJAGetEndorseSet == null时,由于逻辑判断符是或||会继续执行tLJAGetEndorseSet.size(),这就导致了空指针异常。

应该将逻辑判断符改为与&&,根据Java的逻辑运算的短路特性,在判断tLJAGetEndorseSet !=null是,就能够得出结果是false也就不会再执行后面的.size()

可以这样去判断,以避免空指针异常。

 if(null != tLJAGetEndorseSet  &&  0!=tLJAGetEndorseSet .size()){
 }