轉自:https://blog.csdn.net/weixin_39973810/article/details/82112922
equals()方法是在Object類裏定義的,也就是說任何對象都可以調用equals()方法,但是對象在調用方法的時候,如果對象爲null那系統運行就會報空指針異常;出現異常這顯然是我們不願意看到的
如果把變量放在前面也就相當於是調用了這個變量的equals方法,那麼如果此變量爲空的時候就會報NullPointException了,所以肯定是把常量放前面會好些了啊;這樣,我們就不用做空指針的異常處理了,例如
判斷a是不是空會使用 “”.equals(a) 而不是a.equals(“”);
附加:
前臺在給後臺傳值的時候一般會判斷是否爲空或者null,例public boolean (String a,Integer b),判斷的時候應該如下
if(a==null||"".equals(a)||b==null){
throw new ParamException();
}
傳過來的值類型
如果爲Integery的話只需要判斷是否爲null
如果爲String的話需要判斷兩次並且第一次判斷是否爲null,第二次才能判斷是否爲空
轉自:https://blog.csdn.net/weixin_39973810/article/details/82107665
判斷字符串是否爲空時的幾種方法:
方法一: 最多人使用的一個方法, 直觀, 方便, 但效率很低:(後來跟主管討論說不讓使用第四種,原因是==和equals比根本上的不同,一個是比較內存地址一個是比較內容,如果在使用雲服務和搭建集羣的時候有可能會出問題,雖然性能上會差幾ms,但還是讓使用第一種,第四種適合簡單一般的比較)
if(s == null || "".equals(s));
方法二: 比較字符串長度, 效率高, 是我知道的最好一個方法:
if(s == null || s.length() == 0);
方法三: Java SE 6.0 纔開始提供的方法, 效率和方法二幾乎相等, 但出於兼容性考慮, 推薦使用方法二.
if(s == null || s.isEmpty());
方法四: 這是一種比較直觀,簡便的方法,而且效率也非常的高,與方法二、三的效率差不多:
if (s == null || s == "");