如何在不使其成为单独变量的情况下传递数组?例如,我知道这有效:
class Test{
public static void main(String[] args){
String[] arbitraryStrings={"foo"};
takesStringArray(arbitraryStrings);
}
public static void takesStringArray(String[] argument){
System.out.println(argument);
}
}
但我不想让数组成为变量,因为它只在这里使用。有没有办法做这样的事情:
class Test{
public static void main(String[] args){
takesStringArray({"foo"});
}
public static void takesStringArray(String[] argument){
System.out.println(argument);
}
}
答案 0 :(得分:11)
{"foo"}
没有告诉Java你要创建什么类型的数组... 相反,尝试类似......
takesStringArray(new String[] {"foo"});
答案 1 :(得分:1)
您可以使用new
创建一个数组,而不使用新变量
您期望的正确语法是
takesStringArray(new String[]{"foo"});
似乎,您刚开始使用arrays
。还有许多其他语法来声明array
。
答案 2 :(得分:0)
使用in-line
数组声明
试
takesStringArray(new String[]{"foo"});
答案 3 :(得分:0)
class Test {
public static void main(String[] args) {
takesStringArray(new String[]{"foo"});
}
public static void takesStringArray(String[] argument) {
System.out.println(argument);
}
}
答案 4 :(得分:0)
你可以试试VarArgs:
class Test{
public static void main(String[] args){
takesStringArray("foo", "bar");
}
public static void takesStringArray(String... argument){
System.out.println(argument);
}
}
答案 5 :(得分:0)
您可以使用varargs:
class Test { public static void main(String [] args){ takesStringArray( “富”); }
public static void takesStringArray(String... argument) { System.out.println(argument); }
}