null:是一個空物件,不能進行任何操作除了=、==,這個問題我們從三個方面來分析。
一、基本資料型別上
我們來區分下以下三個的區別:
String s1 = null;// null是未分配堆記憶體空間
String s2;// 分配了記憶體空間,沒存入任何物件
String s3 = "";// 分配了記憶體空間,存入了一個字串物件,這種我們可以使用 object<不可能是空>.equals(object<可能是空>)
注:當是""時,我們可以使用spring的方法 判斷字串是否為空:SpringUtils.isEmpty("xxx"),判斷集合是否為空:CollectionUtils.isEmpty("xxx");
在Java中,預設在使用一個變數的時候必須賦予它初值(降低風險)。
二、集合型別
當返回是一個集合例如list的時候,如果查詢的資料是空,我們返回一個空的集合而不是返回null,這樣方法判斷時候就可以用list.size()判斷而不是 != null判斷,養成良好的編碼習慣。
三、方法呼叫上,我們使用宣告多個方法,透過引數來判斷。
https://m.toutiaocdn.cn/group/6667809327488696845/?iid=65758228937&app=news_article×tamp=1552544524&group_id=6667809327488696845
null:是一個空物件,不能進行任何操作除了=、==,這個問題我們從三個方面來分析。
一、基本資料型別上
我們來區分下以下三個的區別:
String s1 = null;// null是未分配堆記憶體空間
String s2;// 分配了記憶體空間,沒存入任何物件
String s3 = "";// 分配了記憶體空間,存入了一個字串物件,這種我們可以使用 object<不可能是空>.equals(object<可能是空>)
注:當是""時,我們可以使用spring的方法 判斷字串是否為空:SpringUtils.isEmpty("xxx"),判斷集合是否為空:CollectionUtils.isEmpty("xxx");
在Java中,預設在使用一個變數的時候必須賦予它初值(降低風險)。
二、集合型別
當返回是一個集合例如list的時候,如果查詢的資料是空,我們返回一個空的集合而不是返回null,這樣方法判斷時候就可以用list.size()判斷而不是 != null判斷,養成良好的編碼習慣。
三、方法呼叫上,我們使用宣告多個方法,透過引數來判斷。
https://m.toutiaocdn.cn/group/6667809327488696845/?iid=65758228937&app=news_article×tamp=1552544524&group_id=6667809327488696845