StringUtils的equals方法判断两个字符串是否相等

源码:

 public static boolean equals(final CharSequence cs1, final CharSequence cs2) {
 		//同一对象返回true
        if (cs1 == cs2) {
            return true;
        }
        //一个或两个都为null返回false
        if (cs1 == null || cs2 == null) {
            return false;
        }
        //两个字符串的长度不一样返回false
        if (cs1.length() != cs2.length()) {
            return false;
        }
        //两个都是String实例,则通过equals方法比较,本质是使用==比较两个对象
        if (cs1 instanceof String && cs2 instanceof String) {
            return cs1.equals(cs2);
        }
        //使用区间匹配进行比较
        return CharSequenceUtils.regionMatches(cs1, false, 0, cs2, 0, cs1.length());
    }

结果:

  • StringUtils.equals(null, null) = true
  • StringUtils.equals(null, “abc”) = false
  • StringUtils.equals(“abc”, null) = false
  • StringUtils.equals(“abc”, “abc”) = true
  • StringUtils.equals(“abc”, “ABC”) = false

你可能感兴趣的:(Java)