有什么方法可以内联声明数组吗?

2022-08-31 04:08:23

假设我有一个方法 m() 它采用字符串数组作为参数。有没有办法在进行调用时以内联方式声明此数组?即,代替:

String[] strs = {"blah", "hey", "yo"};
m(strs);

我可以只用一行替换它,并避免声明我永远不会使用的命名变量吗?


答案 1
m(new String[]{"blah", "hey", "yo"});

答案 2

德拉蒙是对的。你也可以声明为取 varargsm

void m(String... strs) {
    // strs is seen as a normal String[] inside the method
}

m("blah", "hey", "yo"); // no [] or {} needed; each string is a separate arg here