博客
关于我
一篇文章带你搞懂 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/

    你可能感兴趣的文章
    nginx 后端获取真实ip
    查看>>
    Nginx 学习总结(17)—— 8 个免费开源 Nginx 管理系统,轻松管理 Nginx 站点配置
    查看>>
    nginx 常用配置记录
    查看>>
    Nginx 我们必须知道的那些事
    查看>>
    nginx 配置~~~本身就是一个静态资源的服务器
    查看>>
    Nio ByteBuffer组件读写指针切换原理与常用方法
    查看>>
    NLP 基于kashgari和BERT实现中文命名实体识别(NER)
    查看>>
    No 'Access-Control-Allow-Origin' header is present on the requested resource.
    查看>>
    nullnullHuge Pages
    查看>>
    Numpy如何使用np.umprod重写range函数中i的python
    查看>>
    oauth2-shiro 添加 redis 实现版本
    查看>>
    OAuth2.0_JWT令牌-生成令牌和校验令牌_Spring Security OAuth2.0认证授权---springcloud工作笔记148
    查看>>
    OAuth2.0_授权服务配置_Spring Security OAuth2.0认证授权---springcloud工作笔记140
    查看>>
    OAuth2.0_授权服务配置_资源服务测试_Spring Security OAuth2.0认证授权---springcloud工作笔记146
    查看>>
    Objective-C享元模式(Flyweight)
    查看>>
    Objective-C以递归的方式实现二叉搜索树算法(附完整源码)
    查看>>
    Objective-C实现1000 位斐波那契数算法(附完整源码)
    查看>>
    Objective-C实现2 个数字之间的算术几何平均值算法(附完整源码)
    查看>>
    Objective-C实现3n+1猜想(附完整源码)
    查看>>
    Objective-C实现A-Star算法(附完整源码)
    查看>>