Java中获取多维数组长度是直接访问内置length字段,非动态计算;一维数组用arr.length得元素总数,二维数组matrix.length为行数、matrix[0].length为列数,三维及以上依此类推,需注意不规则数组的空指针风险。

Java里获取多维数组长度不是“动态计算”,而是直接读取已分配好的维度信息——本质是访问数组对象内置的length字段,速度快、无开销,但必须理解它只反映结构,不统计实际元素个数。
一维和二维数组的length用法要分清
一维数组只有一个length:直接写arr.length就能拿到元素总数。
二维数组其实是一维数组的数组,所以:
-
matrix.length→ 行数(最外层数组的长度) -
matrix[0].length→ 第一行的列数(前提是matrix[0]不为null) - 如果各行长度不同(不规则数组),每行都要单独查:
matrix[i].length
三维及以上数组怎么取各维长度
Java没有原生“三维数组”类型,只是“数组的数组的数组”。取法层层递进:
立即学习“Java免费学习笔记(深入)”;
Java Maven 项目审查工作流的通用输入处理。当 Java Maven 项目以 ZIP压缩包或 GitLab 仓库 URL 形式提供且需要...时使用。
-
arr.length→ 第一维长度 -
arr[0].length→ 第二维长度 -
arr[0][0].length→ 第三维长度
例如:int[][][] cube = new int[2][3][4];,则cube.length是2,cube[0].length是3,cube[0][0].length是4。
不规则多维数组要小心空指针
声明了int[][] jagged = new int[3][];后,jagged[1]可能还是null。此时调用jagged[1].length会抛NullPointerException。
安全写法是先判空:
if (jagged[i] != null) len = jagged[i].length;- 遍历时建议用增强for循环配合
!= null检查
别把length和size()、length()混用
这是新手高频错误:
- 数组 →
arr.length(属性,无括号) - 字符串 →
str.length()(方法,带括号) - List/Set等集合 →
list.size()(方法,不是length) -
arr.length()或list.length都会编译失败
不复杂但容易忽略。

















