null:是一個(gè)空對(duì)象,不能進(jìn)行任何操作除了=、==,這個(gè)問題我們從三個(gè)方面來分析。
一、基本數(shù)據(jù)類型上
我們來區(qū)分下以下三個(gè)的區(qū)別:
Strings1=null;//null是未分配堆內(nèi)存空間
Strings2;//分配了內(nèi)存空間,沒存入任何對(duì)象
Strings3="";//分配了內(nèi)存空間,存入了一個(gè)字符串對(duì)象,這種我們可以使用object<不可能是空>.equals(object<可能是空>)
注:當(dāng)是""時(shí),我們可以使用spring的方法判斷字符串是否為空:SpringUtils.isEmpty("xxx"),判斷集合是否為空:CollectionUtils.isEmpty("xxx");
在Java中,默認(rèn)在使用一個(gè)變量的時(shí)候必須賦予它初值(降低風(fēng)險(xiǎn))。
二、集合類型
當(dāng)返回是一個(gè)集合例如list的時(shí)候,如果查詢的數(shù)據(jù)是空,我們返回一個(gè)空的集合而不是返回null,這樣方法判斷時(shí)候就可以用list.size()判斷而不是!=null判斷,養(yǎng)成良好的編碼習(xí)慣。
三、方法調(diào)用上,我們使用聲明多個(gè)方法,通過參數(shù)來判斷。
歡迎大家關(guān)注我,后續(xù)會(huì)陸續(xù)的發(fā)布技術(shù)類文章。
以下為springcloud的文章,歡迎大家賞閱
https://m.toutiaocdn.cn/group/6667809327488696845/?iid=65758228937&app=news_article×tamp=1552544524&group_id=6667809327488696845