You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在二维数组第一维度长度为0时获取第二维度的长度

在Java中获取第一维度长度为0的二维数组的第二维度长度

当你创建String[][] arr = new String[0][3]这类数组时,第一维度长度为0,直接访问arr[0].length会抛出数组越界异常——因为数组里没有任何第二维度的元素可供读取。而且Java不会将你创建时指定的第二维度长度(这里是3)存储在数组的元数据中,这个值只是初始化第一维度元素的规则,但因为第一维度没有元素,规则并没有留下可读取的痕迹。

最实用的解决方案:提前保存第二维度长度

既然创建数组时已经明确了第二维度的长度,直接把这个值存入变量,后续需要使用时直接调用即可:

int secondDimLength = 3;
String[][] arr = new String[0][secondDimLength];

// 获取第一维度长度
System.out.println(arr.length); // 输出 0

// 获取第二维度长度
System.out.println(secondDimLength); // 输出 3

这种方法简单高效,完全适配你后续通过System.arraycopy修改第一维度长度的场景——后续新增第一维度元素时,依然可以用这个变量来初始化对应长度的第二维度数组。

极端场景说明

如果数组是从外部传入的,你无法提前获知创建时的第二维度预设值,那么实际上没有办法直接获取这个长度——因为数组本身并没有存储该信息。这种情况下只能要求传递数组的同时提供第二维度长度的参数。

内容的提问来源于stack exchange,提问作者Bledder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 13:30:50