// 这样写 不报错
int[] aa = {};
System.out.println("aa 为空:" + aa);
if (aa == null || aa.length == 0) {
System.out.println("aa 为空");
}
// 这样写报错 --> 有黄色下划线 也没有打印出来任何东西
int[] aa = {};
System.out.println("aa 为空:" + aa);
if (aa == null) {
System.out.println("aa 为空");
}
java 判断数组为空 只有条件 arr==null 为什么报错?
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
Minuw 2023-07-02 17:50关注在 Java 中,数组的默认值为 null。当一个数组被声明时,它的值实际上是 null。
所以,当你使用 if (aa == null) 判断数组是否为空时,实际上是在判断一个 null 引用是否等于 null。由于 null 引用不等于任何对象,因此这个条件永远不会为 true,导致程序无法执行到 if 语句块中的代码。
正确的判断数组是否为空的方法是使用 if (aa.length == 0),因为数组的长度属性表示数组中元素的数量,如果长度为 0,则说明数组为空。
本回答被题主选为最佳回答 , 对您是否有帮助呢?评论 打赏 举报解决 1无用