我知道调用equals方法比使用==运算符(参见this question)更好。如果两个字符串都为空,或者如果它们代表相同的字符串,我希望两个字符串进行相等的比较。不幸的是,如果字符串为null,则equals方法将抛出NPE。我的代码当前是:
boolean equals(String s1, String s2) {
if (s1 == null && s2 == null) {
return true;
}
if (s1 == null || s2 == null) {
return false;
}
return s1.equals(s2);
}这是不优雅的。执行此测试的正确方法是什么?
发布于 2015-05-06 23:56:04
如果您不能使用解决方案,但是在7+中有Guava或Commons Lang,那么您可以使用以下方法:
芭乐
import com.google.common.base.Objects;
Objects.equal(s1, s2);通用语言
import org.apache.commons.lang3.builder.EqualsBuilder;
new EqualsBuilder().append(s1, s2).isEquals();或
import org.apache.commons.lang3.StringUtils;
StringUtils.equals(s1, s2);https://stackoverflow.com/questions/30081520
复制相似问题