首页 > 其他 > 详细

集合框架null与size=0

时间:2016-08-28 01:17:56      阅读:299      评论:0      收藏:0      [点我收藏+]

被QA人员一眼指出来的问题,唉,好丢人

上栗子??

  如何判断一个集合是空?

技术分享

  运行后会输出什么?

  显然第53行会报运行时错误:java.lang.NullPointerException

为什么呢?

  首先分析第51行与第52行的区别:

    51行:仅声明一个stringList1的引用

    52行:在内存中开辟空间,并将内存地址赋值给stringList2

  使用javap反编译java文件:

技术分享

  大概的意思很显然,第51行源代码就是0,1行,只是声明了一个变量并没有在内存开辟存储空间

怎么判空?

  所以应该先判断是否为null,再判断size>0,这其中还有 || 带来的短路功能

技术分享

  或者直接用:

  import org.apache.commons.collections.CollectionUtils;

  CollectionUtils.isEmpty();

  看一下它的实现:

技术分享

集合框架null与size=0

原文:http://www.cnblogs.com/zhengbin/p/5814139.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!