【笔记】判断两个String字符串是否相同(考虑字符串为null的情况)
判断两个字符串是否相同,可用于判断一个字段在逻辑处理前后,值是否有变化。
其中重点是要考虑两个字符串是否有为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()
进行判断。