开发者社区> 问答> 正文

如何检查数组是否为空/空?

我有一个int没有元素的数组,我正在尝试检查它是否为空。

例如,为什么下面代码中的if语句的条件永远不会为真?

int[] k = new int[3];

if (k == null) { System.out.println(k.length); } 问题来源于stack overflow

展开
收起
保持可爱mmm 2020-02-07 22:43:58 402 0
1 条回答
写回答
取消 提交回答
  • null数组和空数组之间有一个关键的区别。这是对的测试null。

    int arr[] = null; if (arr == null) { System.out.println("array is null"); } “空”在这里没有官方含义。我选择将空定义为具有0个元素:

    arr = new int[0]; if (arr.length == 0) { System.out.println("array is empty"); } 如果所有元素都是,则“空”的另一种定义是null:

    Object arr[] = new Object[10]; boolean empty = true; for (int i=0; i<arr.length; i++) { if (arr[i] != null) { empty = false; break; } } 要么

    Object arr[] = new Object[10]; boolean empty = true; for (Object ob : arr) { if (ob != null) { empty = false; break; } }

    2020-02-07 22:44:09
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载