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

Java中如何创建char[][]类型的数组的数组(禁用ArrayList)

如何在Java中创建char[][]的数组(不使用ArrayList)

嘿,刚上手Java的话,这种嵌套数组的写法确实容易搞混,我来给你一步步讲明白怎么实现你要的效果👇

首先要明确:你想要的其实是一个三维字符数组(char[][][]类型),因为这个数组里的每一个元素本身就是一个char[][]二维数组。完全符合你要的“通过索引直接返回完整二维数组”的需求,而且不需要用到ArrayList。

完整实现示例

先看最直观的写法,和你给出的示例完全对应:

// 先定义你原本的单个二维字符数组
char[][] ARRAY_1 = { {'.','#'}, {'$','@'} };
char[][] ARRAY_2 = { {'.','#'}, {'$','@'} };

// 创建三维数组,把上面的二维数组装进去
char[][][] ARRAY = {ARRAY_1, ARRAY_2};

如果你觉得单独定义每个二维数组太繁琐,也可以直接初始化三维数组,一步到位:

char[][][] ARRAY = {
    { {'.','#'}, {'$','@'} },  // 对应你的ARRAY_1
    { {'.','#'}, {'$','@'} }   // 对应你的ARRAY_2
};

怎么访问元素

  • 要获取完整的二维数组:用ARRAY[索引],比如ARRAY[0]会返回整个ARRAY_1,ARRAY[1]返回整个ARRAY_2
  • 如果要访问二维数组里的具体字符:可以继续嵌套索引,比如ARRAY[0][1][0]就对应ARRAY_1第二行第一列的'$'

注意事项

因为Java的普通数组长度是固定的,一旦创建就不能再动态添加新的二维数组进去——这也是它和ArrayList的核心区别。但既然你明确要求不能用ArrayList,这种写法就是最符合你需求的最佳实现啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 06:53:45