我可以将字符串数组 (String[][]) 传递给 Java 中的函数吗?

Can I pass an array of arrays of String (String[][]) to a function in Java?

我有这样一个构造函数:

public Cat(String name, String[][] friendsOfFriendsNames){...}

我想像这样创建一个新的 Cat

Cat cat = new Cat("Maurycy", {{"Adam", "Greta"}, {"Jurek", "Tyrmand"}});

但是我在 Eclipse 中收到 Syntax error on token(s), misplaced construct(s) 错误。

原来我可以像friendsOfFriendsNames一样引入一个新的变量,然后传给构造函数。 Eclipse 不会引发任何错误。

String[][] friendsOfFriendsNames = {{"Adam", "Greta"}, {"Jurek", "Tyrmand"}};

Cat cat = new Cat("Maurycy", friendsOfFriendsNames);

为什么会这样?是否可以将 {{"Adam", "Greta"}, {"Jurek", "Tyrmand"}} 直接传递给构造函数?如果可以,我应该怎么做?

你必须告诉Java它是什么类型的数组,例如

Cat cat = new Cat("Maurycy", new String[][]{{"Adam", "Greta"}, {"Jurek", "Tyrmand"}});

这样试试:

new String[][]{{"Adam", "Greta"}, {"Jurek", "Tyrmand"}}