如何在Java中创建和初始化一行中的字符串数组



假设我在Java 8中定义了以下对象:

String[] filledArr = new String[] {"Hallo"};
String[] moreFilledArr = new String[] {"Hallo", "duda"};
String[] emptyArr = new String[] {};

现在我想创建一个包含这两个字符串数组的数组。我该怎么写?

我试过了:

String[][] = {emptyArr, filledArr, moreFilledArr};

这行不通。然后我尝试了:

(String[])[] = {emptyArr, filledArr, moreFilledArr};

使用第二个版本中的括号,我想表明数组是字符串数组之一,而不是二维数组。仍然没有成功。

正确的方法是什么?有吗?或者我必须求助于ImmutableList来创建一个不可变的数据结构。

您忘记给变量起个名字了吗?这两者都有效。

String[][] array = {emptyArr, filledArr, moreFilledArr};
String[][] array = new String[][] {emptyArr, filledArr, moreFilledArr};

我建议您阅读基本的Java语法规范和教程。从Oracle公司免费提供的Java教程开始。

这两个也是对的String[][]数组={emptyArr,filled Arr,moreFilled Arr};

String[][] array = new String[][] {emptyArr, filledArr, moreFilledArr};

请也检查一下Java中的数组文档查看更多说明
使用java文档的数组教程,


我不得不添加这个作为评论,但我不能,我想用上面提到的更多资源进行扩展,谢谢

我们还可以通过初始化并分配给Object类型的一维数组来实现它。下面是这样的。

String[] filledArr = new String[] {"Hallo"};
String[] moreFilledArr = new String[] {"Hallo", "duda"};
String[] emptyArr = new String[] {};
Object[] newArr = {filledArr, moreFilledArr, emptyArr};

如果你想打印这个newArr中的值,那么你应该使用下面的代码。

for (int i=0;i< newArr.length; i++){
Arrays.stream(((String[]) newArr[i])).forEach(System.out::println);
}

最新更新