Java 是否可以初始化字符串[]数组并在一行中的方法中传递它?

Java 是否可以初始化字符串[]数组并在一行中的方法中传递它?,java,Java,现在我有以下代码: String[] values = {str1, str2}; Utils.myMethod(values); 我想知道是否有一种方法可以在一行中完成这一切。我试过: Utils.myMethod({str1, str2}); 但这不起作用。提前感谢。您需要明确指定数组的类型。这不是推断。因此,以下是有效的: Utils.myMethod(new String[] {str1, str2}); 如果您拥有该方法,请考虑使用VARARGS语法并声明如下: void my

现在我有以下代码:

String[] values = {str1, str2};
Utils.myMethod(values);
我想知道是否有一种方法可以在一行中完成这一切。我试过:

Utils.myMethod({str1, str2});

但这不起作用。提前感谢。

您需要明确指定数组的类型。这不是推断。因此,以下是有效的:

Utils.myMethod(new String[] {str1, str2}); 

如果您拥有该方法,请考虑使用VARARGS语法并声明如下:

void myMethod(String... args) {
那么,你可以这样称呼它

Utils.myMethod(str1, str2);

然后让编译器为您组合数组

好吧,您可以随时重写您的方法以供使用。这样,你就可以写作了

Utils.myMethod(str1, str2);

…如果您希望使用列表,并且希望在不进行大量写入的情况下使用值初始化该列表,请使用以下命令:Utils.myMethod(Arrays.asList(新字符串[]{str1,str2}));可以进一步简化:Utils.myMethod(Arrays.asList(str1,str2));(使用Java1.5或更高版本,因为它是一个vararg方法)该死,这就是我的意思。OP帖子中的C+P让我的技能看起来很可怕。我不配被称为书呆子。你会在外面找到我的。@Marithmu,比那要详细得多。下面是必需的代码:
Utils.myMethod((String[])Arrays.asList(str1,str2.toArray())