Java数组作为参数

Ano*_*son 9 java arrays

您可以将新数组作为方法传递,并且仍然在该数组中有数据吗?

例如,我有这个方法:foo(String[]),我想这样称呼它foo(new String[] s = {"String1", "String2"}).但那不是有效的Java.

Bal*_*usC 18

这是一种"有效的Java方式"(例如,它编译并执行您想要的操作):

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

如果您有机会更改此方法,那么您还可以考虑更改方法以采用varargs参数:

public void foo(String... strings) {
    // ...
}
Run Code Online (Sandbox Code Playgroud)

然后您可以按如下方式使用它,而无需显式创建数组:

foo("String1", "String2");
Run Code Online (Sandbox Code Playgroud)

以下内容也有效:

foo("String1");
Run Code Online (Sandbox Code Playgroud)

foo("String1", "String2", "String3");
Run Code Online (Sandbox Code Playgroud)

甚至更多.