为什么java里面经常作判断的时候,既要判断list不为null,又要判断size>0呢,岂不是多此一举吗?

来源:互联网 发布:内置网络分线器 编辑:程序博客网 时间:2024/05/01 00:23
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、那也会有运行时错误的。


+1
引用:

  成员变量在类实例化的时候有默认值,局部变量没有。
ArrayList的默认值是一个空的ArrayList?以前倒没注意过。一般来说,对象的默认值都是Null


成员变量,如果是对象的话,默认值都是null,ArrayList类型的也是null,不会是空的ArrayList。

0 0
原创粉丝点击