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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

public static void main(String[] args) {
    String [] arrStrings={"张三","李四",null,null,null};
    for (int i = 0; i < arrStrings.length; i++) {
                System.out.println(arrStrings[i]);
        }
    System.out.println(Arrays.toString(arrStrings));
    Arrays.sort(arrStrings,0,1);
    Arrays.sort(arrStrings);
   
}

请问哪一步会空指针异常呢?
分析:
public static void main(String[] args) {
    String [] arrStrings={"张三","李四",null,null,null};
    for (int i = 0; i < arrStrings.length; i++) {
                System.out.println(arrStrings[i]); //元素为null.打印时候会打印出null.不会发生空指针异常
        }
    System.out.println(Arrays.toString(arrStrings));  //通过实践和查源码.发现也不会空指针.因为这个toString方法源码就是依赖遍历
    Arrays.sort(arrStrings,0,1);//排序数组的从索引0到索引1.也不会空指针异常
    Arrays.sort(arrStrings);  //这个如果sort()排序的数组中有null的话.就会报空指针异常.如有异议.请查源码...谢谢支持!
   
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马