A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 任文杰 中级黑马   /  2012-4-22 18:59  /  4461 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

List<String> list = new ArrayList<String>();
为了避免出现数组越界或空指针异常我该如何进行代码编写?

7 个回复

倒序浏览
list==null和list.size()==0区别:
list集合为空,list.size()==0指list集合占有的空间为零即list集合为0一个意思!
回复 使用道具 举报
本帖最后由 杨国祯 于 2012-4-22 19:21 编辑

你说的问题应该是判断的时候
if (list!=null &&list.size()>0)
                  {
                     System.out.println(list!=null);
                     System.out.println(list.size()>0);
}
自然两个是不一样的,list!=null是对象是是否存在,list.size()>0是存在的时候里面的内容是不是空
回复 使用道具 举报
list=null是指没有创建实例对象,只是声明了一个引用变量,所以调用它的方法会抛出空指针异常。
list.size()=0是指集合中没有内容。
避免数组越界,操作数组的时候,下标别超过数组的最大下标就行了。
避免空指针异常,保证在对实例对象操作之前,先进行new操作就是了。
回复 使用道具 举报
List<String> list=null是指没有创建实例对象,只是声明了一个变量,在内存中没有分配空间,这时的list==null
list.size()==0:此时的list已经在内存中分配了存储地址,而list集合零
回复 使用道具 举报
list.size()=0是指集合中没有内容,但对象已创建。
则内存中会在栈区创建一个引用size,指向常量池中的整数0,

list=null:给一个引用变量list赋值null,
则会在栈区创建一个引用list,不指向任何地址,表示还没new出对象
回复 使用道具 举报
list==null和list.size()==0通常在我们遍历集合时使用。
list==null相当于只声明了一个集合对象,而没有实例化该对象。
list.size()相当于实例了一个集合对象,但是集合中没有存储数据。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马