如何在Java中一行创建并初始化包含已有字符串数组的数组?
问题解决:Java中创建包含字符串数组的数组
你尝试的两种写法失败的核心原因是没给数组声明变量名,Java里不管哪种数组声明,都必须搭配变量名才能完成赋值操作。
正确写法示例
- 常规二维字符串数组声明(最常用)
String[][] arrOfArrays = {emptyArr, filledArr, moreFilledArr};
Java里String[][]本质就是“由字符串数组组成的数组”,和你想表达的(String[])[]语义完全等价,只是语法上做了简化。
- 显式声明元素为String数组的形式
(String[])[] arrOfArrays = {emptyArr, filledArr, moreFilledArr};
这种写法更直白地体现了“数组的每个元素都是String数组”,和第一种写法在编译、运行阶段没有任何差异,仅为风格不同。
是否需要使用ImmutableList?
完全不需要。普通数组就能满足将多个String数组组合在一起的需求。如果需要不可变的集合结构,可选择Arrays.asList()生成固定大小的列表,或使用Guava的ImmutableList,但这都不是必须的——单纯组合数组的话,上面两种普通数组写法就足够。
内容的提问来源于stack exchange,提问作者halloleo
相关产品推荐
相关产品推荐

