如何传递函数数组文字?

Oth*_*ers 4 java arrays

如何在不使其成为单独变量的情况下传递数组?例如,我知道这有效:

class Test{
    public static void main(String[] args){
        String[] arbitraryStrings={"foo"};
        takesStringArray(arbitraryStrings);
    }
    public static void takesStringArray(String[] argument){
        System.out.println(argument);
    }
}
Run Code Online (Sandbox Code Playgroud)

但我不想让数组成为变量,因为它只在这里使用.有没有办法做这样的事情:

class Test{
    public static void main(String[] args){
        takesStringArray({"foo"});
    }
    public static void takesStringArray(String[] argument){
        System.out.println(argument);
    }
}
Run Code Online (Sandbox Code Playgroud)

Mad*_*mer 13

{"foo"} 不要告诉Java你要创建什么类型的数组......

相反,尝试像......

takesStringArray(new String[] {"foo"});
Run Code Online (Sandbox Code Playgroud)