equals方法中变量在前和在后的区别

对于变量:String str1;java

使用str1.equals("null");工具

对于变量str1,若是str1是null,空是没有equals方法的,会抛出空指针异常指针

使用"null".equals(str1);若是str1是null,最终始终返回的都是false;blog

建议使用官方提供的工具类:源码

StringUtils.equals(String str1, String str2)class

工具类源码以下:变量

public static boolean equals(String str1, String str2)
    {
        return str1 != null ? str1.equals(str2) : str2 == null;
    }
  //忽略大小写进行比较
    public static boolean equalsIgnoreCase(String str1, String str2)
    {
        return str1 != null ? str1.equalsIgnoreCase(str2) : str2 == null;
    }

 能够看到源码利用三元表达式很好的规避了null,空指针异常这个问题方法

相关文章
相关标签/搜索