这种情况下二者是一样的, String a = ""; String b = ""; System.out.println(StringUtils.equals(a,b));//true System.out.println(a.equals(b));//true 这种情况下是会出问题的, String a = null; String b = null; System.out.println(StringUtils.equals(a,b));//true System.out.println(a.equals(b));//报空指针,因为a为null
其实我主要是想表达第2种,也是实际工作中会碰到的,所以,这里还推荐使用StringUtils.equals(),不管2个那个为null,都可以防止空指针,如果要用a.equals(b)这个,那前提是a不能为null,b可以为null,这样也可以防止空指针,工作中可能你不知道那个会为null,所以还是用StringUtils.equals()这个比较好.