如果 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