java中数组长度为零和为空的区别
2016-11-16 20:07
477 查看
1.
int[] array = null; 数组为空,此时array不指向任何对象;
int[] array = new array[0]; 定义一个长度为0的数组;
int[] array = new array[2]; 定义一个长度为2的数组,此时如果数组没有被初始化,默认的值为null;
2.
两者如果在一行代码中,就要先判断数组是否为空在判断是否长度为0,否者有可能会报 空指针异常;
eg:if(array == null || array.length == 0)
这样写是没有任何问题的,因为java中||运算符具有短路原则,如果一个数组为空,整个表达式为true,后面的就不会执行,如果数组不为空,在判断数组长度是否为0就不会报空指针异常。当然,如果把 || 符改为 | 就会报异常,因为 | 不具有短路原则。
放过来,如果写成这样 if(array.length == 0 || array == null)在array == null 为true 的情况下就会发生空指针异常(运行时异常);
int[] array = null; 数组为空,此时array不指向任何对象;
int[] array = new array[0]; 定义一个长度为0的数组;
int[] array = new array[2]; 定义一个长度为2的数组,此时如果数组没有被初始化,默认的值为null;
2.
两者如果在一行代码中,就要先判断数组是否为空在判断是否长度为0,否者有可能会报 空指针异常;
eg:if(array == null || array.length == 0)
这样写是没有任何问题的,因为java中||运算符具有短路原则,如果一个数组为空,整个表达式为true,后面的就不会执行,如果数组不为空,在判断数组长度是否为0就不会报空指针异常。当然,如果把 || 符改为 | 就会报异常,因为 | 不具有短路原则。
放过来,如果写成这样 if(array.length == 0 || array == null)在array == null 为true 的情况下就会发生空指针异常(运行时异常);
相关文章推荐
- Java中长度为0的数组与null的区别
- 数组长度为零和空引用的区别 files!=null&files.length()>0 空指针或赋空值
- Java中长度为0的数组与null的区别
- Java中长度为0的数组与null的区别
- Java中数组为空和数组长度为0的区别
- Java中长度为0的数组与null的区别
- Java中长度为0的数组与null的区别
- Java中长度为0的数组与null的区别
- java中数组为空和数组长度为0的区别
- JAVA获得一个数组的指定长度的排列
- 数组长度为0和数组为null的区别
- c 和指针 二维数组赋予一维数组指针 数组长度 数组与指针长度区别
- Java实现 找出数组中出现次数超过数组长度一半的元素
- 【CORE JAVA】反射应用:通用方法-扩展数组长度
- java中的数组长度问题
- C语言和Java字符串与字符数组区别
- java运行长度10000的数组堆栈溢出,c++和Delphi都没有
- Java中集合和数组的区别
- java中的String.split() 中“|”作为分隔符的问题和数组长度问题
- Java与Flex区别二:整数除法、变量定义、数组取值