数组空指针解决

原创 2018年04月15日 10:17:34

nullPointException :
使用list.isEmpty()的时候,出现空指针异常,
因为isEmpty() 判断的是list中的个数为空,不可以判断list集合是否为null,isEmpty需要在确定list不为null的情况下使用,,
可以这样if(list!=null){list.isEmpty()},
更简单的方式是使用colllectionUtiles工具类
CollectionUtile.isEmpty(list)

public static void main(String[] args) {
        List<String> list = new ArrayList<>();

        List<String> list1 = null;

        if(list1.isEmpty()){
            System.out.println("list1.isEmpty()");
        }

        System.out.println(list.size()+"========list1");

        if (list1==null){
            System.out.println("list1 is null");
        }
        //问题点
        if (list1.isEmpty()){
            System.out.println("list.isEmpty()");
        }

        if(CollectionUtils.isEmpty(list1)){
            System.out.println("list is empty");
        }
    }

在上面的代码中,如果list为null的时候,会在问题点2处会出现空指针异常java.lang.NullPointerException,因为此时list没有在内存中创建,没有长度的,如果new出来一个新的对象,会在内存中有占位,就像上面,list的长度是0。

同样的错误也在String中存在,,string.isEmpty() 也需要在String不为null的情况下使用。
综上所述,及时isEmpty()是有坑点的,所以在我们判断String,list,map的时候,尽量选择使用工具类来判断 : StringUtiles CollectionUtils来处理。
更简单的说就是,字符串使用StringUtils,和集合有关的使用org.apache.commons.collections 包下的工具类。

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/fcfwang_net/article/details/79947040

C语言学习——指针与数组、空指针

指针与数组 方法1 方法2 小案例指针与数组数组的元素在内存中是互连的,通过指针操作数组某个元素方法1int vals[4]={1,2,3,4}; int* p=vals; /*p指向数组的内存地址,...
  • zhengyikuangge
  • zhengyikuangge
  • 2016-09-20 09:39:57
  • 770

java.lang.NullPointerException 空指针异常问题

1.所谓的指针,就是java中的对象的引用。比如String s;这个s就是指针。  2.所谓的空指针,就是指针的内容为空,比如上面的s,如果令它指向null,就是空指针。 3.所谓的空指针异常,...
  • qing101hua
  • qing101hua
  • 2015-05-03 15:28:31
  • 59371

空指针异常总结

1:NullPointerException由RuntimeException派生出来,是一个运行级别的异常。意思是说可能会在运行的时候才会被抛出,而且需要看这样的运行级别异常是否会导致你的业务逻辑中...
  • Csdn0123
  • Csdn0123
  • 2011-07-02 12:33:51
  • 11533

数组长度为零和空引用的区别 files!=null&files.length()>0 空指针或赋空值

在判断非空的时候 常常用到files!=null&files.length()>0 那么很多人好奇长度等于0不就是空吗 言简意赅的说: 数组初始化为总结为两种: 空指针:数组=null ...
  • evanxuhe
  • evanxuhe
  • 2017-06-06 20:51:11
  • 504

一个存储对象的数组要注意的地方: 存储的对象不要空指针异常了

例如一个Person实体类 public class Person { private String name; private String sex; private int age...
  • z10z32
  • z10z32
  • 2017-06-29 16:37:54
  • 110

空指针异常

package com.huaxin.kehuduan; public class Test { public static void main(String[] args) { /** * ...
  • apple20154350217
  • apple20154350217
  • 2017-05-01 21:09:22
  • 43

数组

数组是可以存储相同类型的一组容器,数组的类型是引用类型,数组名是存放在栈空间的一个地址号,然后数组名就是通过这个地址号指向堆中的一块连续空间,再堆的连续空间里面存放着值。数组的定义类型可以是任意类型,...
  • ylm2999
  • ylm2999
  • 2018-01-31 14:51:01
  • 19

对象数组报错“空指针”:Exception in thread "main" java.lang.NullPointerException

Dog[]dogs=new Dog[4]; //这里虽然创建了对象数组,大小为4,但并没有为每个对象分配空间,即每个对象都是为空的。 所以先要为对象开辟空间:dogs[0]=new Do...
  • u013403478
  • u013403478
  • 2014-05-02 00:49:09
  • 3153

Android编程注意事项一常见空指针异常小结

Android编程中常见的空指针异常 在Android编程中,空指针异常通常是不出现则以一出现就有惊人的破坏力。 下面我们一起来看看常见的破坏力:...
  • xiaoyaozaimz
  • xiaoyaozaimz
  • 2017-09-15 15:31:42
  • 609
收藏助手
不良信息举报
您举报文章:数组空指针解决
举报原因:
原因补充:

(最多只允许输入30个字)