博客
关于我
一篇文章带你搞懂 Java 中数组长度为 0 和数组为 null 的区别
阅读量:360 次
发布时间:2019-03-04

本文共 301 字,大约阅读时间需要 1 分钟。

在Java编程中,处理数组时需要注意其初始状态。以下是几种常见情况的分析:

  • 仅声明数组int[] a;

    这只是一个数组变量的声明,但未初始化。使用a.length会导致空指针异常,因为a仍为null

  • 赋值为nullint[] a = null;

    这个语句将数组变量赋值为null,没有创建数组对象。任何操作都会导致空指针异常。

  • 初始化为空数组int[] a = new int[0];

    这里创建了一个有效的数组对象,长度为0,可以正常使用,但没有内容。

  • 注意事项:在判断数组状态时,首先检查是否为空指针再判断长度,避免因顺序错误导致空指针异常。正确的顺序是先检查null,然后检查长度是否为0。

    转载地址:http://tsar.baihongyu.com/

    你可能感兴趣的文章
    Objective-C实现AC算法(Aho-Corasick) 算法(附完整源码)
    查看>>
    Objective-C实现adaboost算法(附完整源码)
    查看>>
    Objective-C实现Adler32算法(附完整源码)
    查看>>
    Objective-C实现AES算法(附完整源码)
    查看>>
    Objective-C实现AffineCipher仿射密码算法(附完整源码)
    查看>>
    Objective-C实现aliquot sum等分求和算法(附完整源码)
    查看>>
    Objective-C实现all combinations所有组合算法(附完整源码)
    查看>>
    Objective-C实现all permutations所有排列算法(附完整源码)
    查看>>
    Objective-C实现all subsequences所有子序列算法(附完整源码)
    查看>>
    Objective-C实现AlphaNumericalSort字母数字排序算法(附完整源码)
    查看>>
    Objective-C实现alternate disjoint set不相交集算法(附完整源码)
    查看>>
    Objective-C实现alternative list arrange备选列表排列算法(附完整源码)
    查看>>
    Objective-C实现An Armstrong number阿姆斯特朗数算法(附完整源码)
    查看>>
    Objective-C实现anagrams字谜算法(附完整源码)
    查看>>
    Objective-C实现ApproximationMonteCarlo蒙特卡洛方法计算pi值算法 (附完整源码)
    查看>>
    Objective-C实现area under curve曲线下面积算法(附完整源码)
    查看>>
    Objective-C实现arithmetic算术算法(附完整源码)
    查看>>
    Objective-C实现armstrong numbers阿姆斯壮数算法(附完整源码)
    查看>>
    Objective-C实现articulation-points(关键点)(割点)算法(附完整源码)
    查看>>
    Objective-C实现atoi函数功能(附完整源码)
    查看>>