java StringUtils.equal的源码问题

如果 a ="a", b = null, 请问StringUtils.equals(a, b)这个的结果是什么?下面是源码的逻辑, 哪位大神能分析一下么?
commons-lang-2.6.jar:
public static boolean equals(String str1, String str2)
{
return ((str1 == null) ? false : (str2 == null) ? true : str1.equals(str2));
}

(str1 == null) ? false : (str2 == null) ? true : str1.equals(str2)

三元运算符啊 ,相当于
if(str1 == null){
return false;
}else{
if(str2 == null){
return true;
}else{
return str1.equals(str2);
}
}


True,str=null 返回true,你写的有问题啊

你把源码拷贝出来,然后运行 一次

return ((str1 == null) ? false : (str2 == null) ? true : str1.equals(str2));
其实就是

((str1 == null) ? false : ((str2 == null) ? true : str1.equals(str2)))

true