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

    你可能感兴趣的文章
    netty底层源码探究:启动流程;EventLoop中的selector、线程、任务队列;监听处理accept、read事件流程;
    查看>>
    Netty核心模块组件
    查看>>
    Netty框架的服务端开发中创建EventLoopGroup对象时线程数量源码解析
    查看>>
    Netty源码—2.Reactor线程模型一
    查看>>
    Netty源码—4.客户端接入流程一
    查看>>
    Netty源码—4.客户端接入流程二
    查看>>
    Netty源码—5.Pipeline和Handler一
    查看>>
    Netty源码—6.ByteBuf原理二
    查看>>
    Netty源码—7.ByteBuf原理三
    查看>>
    Netty源码—7.ByteBuf原理四
    查看>>
    Netty源码—8.编解码原理二
    查看>>
    Netty源码解读
    查看>>
    Netty的Socket编程详解-搭建服务端与客户端并进行数据传输
    查看>>
    Netty相关
    查看>>
    Network Dissection:Quantifying Interpretability of Deep Visual Representations(深层视觉表征的量化解释)
    查看>>
    Network Sniffer and Connection Analyzer
    查看>>
    Net与Flex入门
    查看>>
    net包之IPConn
    查看>>
    NFinal学习笔记 02—NFinalBuild
    查看>>
    NFS共享文件系统搭建
    查看>>