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,空指針異常這個問題方法

相關文章
相關標籤/搜索