判断两个字符串是否相同,可用于判断一个字段在逻辑处理前后,值是否有变化。
其中重点是要考虑两个字符串是否有为null的情况,如果其中一个,或者两个都为空,用str1.equals(str2)
直接判断,就会报NullPointerException
的错误。
所以可用采用下面方法进行判断:
public static boolean areEqual(String str1, String str2) {
if (str1 == null && str2 == null) {
return true;
} else if (str1 == null || str2 == null) {
return false;
} else {
return str1.equals(str2);
}
}
- 如果两个字符串同时为null,可以认为两个字符串是一样的,或者字符串的值没有变化;
- 排除两个字符串都为null的情况,如果其中一个字符串为null,那么两个字符串的值就不一致;
- 最后在确定两个字符串都不为null,那么就可以使用
equals()
进行判断。