List list=new ArrayList(); 這樣的list不為null,但是size=0,這樣的集合對于之後的判斷是沒用的,甚至是報異常,如list.get(0.....n)這樣的取值判斷,就會報異常。
是以判斷時候往往要雙重判斷。即list!=null && list.size()>0才好。
舉例:
//題意:經過資料查詢,查詢結果為空(沒有資料)
List<UserInfo> us=userInfoDao.findByNameAndPassword(userInfo); (相當于List list=new ArrayList();)
if(us.size() == 0){//困擾我五分鐘,不知道為什麼us==null行不同 return false; } else { return true; }
引用:
容器ArrayList作為類的屬性,就可以不用new,之後直接add()。但是在一個方法裡定義了一個ArrayList的對象就必須要先new才能再add()。。。。。why?????
引用:
就算ArrayList作為屬性時、你沒有建立對象、直接add、那也會有運作時錯誤的。
引用:
成員變量在類執行個體化的時候有預設值,局部變量沒有。
ArrayList的預設值是一個空的ArrayList?以前倒沒注意過。一般來說,對象的預設值都是Null
成員變量,如果是對象的話,預設值都是null,ArrayList類型的也是null,不會是空的ArrayList。