Java中数组不为空时也可能出现ArrayIndexOutOfBoundsException: 0异常

来源:互联网 发布:td lte网络结构图 编辑:程序博客网 时间:2024/06/06 04:40
String[]strs=new String[2];System.out.println(strs[0]);// nullint[]ss=new int[2];System.out.println(ss[0]);// 0String[]strs2=null;if(strs2!=null)System.out.println(strs2[0]);// 数组中的元素为空String[]strs4=new String[]{null};if(strs4!=null)System.out.println(strs4[0]);// null// 数组的长度为0String[]strs3=new String[0];if(strs3!=null)System.out.println(strs3[0]);// java.lang.ArrayIndexOutOfBoundsException: 0

Java中的数组是引用类型,习惯上我会通过数组!=null判断是否有值(但是如果是List类型,则还会加上.size())

偶然遇到过一个数组!=null但是[0]元素==null的情况,费了很多时间才定位到问题。

以后使用数组时需要考虑两个比较冷门的问题:1、数组不为空,但是数组中的元素可能为空

2、数组不为空,但是数组的长度可能为空,导致取[0]元素时下标越界

附:Java中的数据类型


阅读全文
0 0
原创粉丝点击