java数组的长度通过public final int字段length获取,不可调用length();字符串则用length()方法;数组长度创建后不可变,多维数组length表示第一维长度,null数组访问length会抛nullpointerexception。

Java 数组的长度通过 length 属性获取,它是一个 public final int 字段,不是方法,也不带括号。
length 是数组的固有属性,不是方法
数组在 Java 中是对象,但 length 是其直接声明的公共字段,而非继承自 Object 或调用的方法。写成 arr.length() 会编译报错。
- 正确写法:
int len = arr.length; - 错误写法:
int len = arr.length();(编译不通过) - 字符串要用
str.length()方法,别和数组混淆
length 在数组创建时就确定,不可修改
数组一旦初始化(如 new int[5] 或 {1,2,3}),其 length 就固定了,后续无法扩容或缩容。
-
int[] a = new int[3];→a.length永远是 3 - 即使把元素全设为
null或0,长度不变 - 想动态改变大小,需换用
ArrayList等集合类
对多维数组,length 表示“第一维”的长度
二维或更高维数组中,arr.length 返回最外层数组的元素个数,即行数;每行的列数需通过 arr[i].length 获取。
-
int[][] mat = {{1,2}, {3,4,5}};→mat.length == 2,mat[0].length == 2,mat[1].length == 3 - 注意:不规则二维数组(各行长度不同)中,
arr[i].length可能抛NullPointerException,使用前应判空
空数组和 null 的区别必须分清
length 只能用于已创建的数组对象。若引用为 null,访问 length 会触发 NullPointerException;而空数组(new int[0])的 length 是 0,合法且安全。
-
int[] a = new int[0];→a.length为 0,可正常访问 -
int[] b = null;→b.length直接抛异常 - 安全做法:先判空再取 length,如
if (arr != null) { ... arr.length ... }
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











