你能否将一个新数组作为方法传递,并且该数组中仍然有数据?
例如,我有这个方法:foo(String[])
,我想这样调用它foo(new String[] s = {"String1", "String2"})
。但这不是有效的 Java。
最佳答案
这是一种“有效的 Java 方式”(例如,它编译并执行您想要的操作):
foo(new String[] {"String1", "String2"});
如果你有机会改变这个方法,那么你也可以考虑改变方法取一个varargs参数:
public void foo(String... strings) {
// ...
}
然后你可以如下使用它而不需要显式地创建一个数组:
foo("String1", "String2");
以下也是有效的:
foo("String1");
和
foo("String1", "String2", "String3");
甚至更多。
关于Java 数组作为参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7937157/