参见英文答案 >
Why passing {a,b,c} to a method doesn’t work?7个
我有以下代码
我有以下代码
String[] args = {"a","b","c"}; method(args); private void method(String[] args){ return args; }
为什么我无法做到以下没有错误?
method({"a","c"});
这段代码只是为了证明这一点,而不是我正在使用的实际方法.我想做第二个方法来清理我的代码,并避免在我只使用它们一次传递给我的方法时声明十几个不同的数组.
解决方法
我怀疑你想使用varargs.您甚至不需要创建一个数组来发送变长参数.
String[] strings = method("a","c"); private String[] method(String... args){ return args; }
要么
String[] strings = array("a","c"); private <T> T[] array(T... args){ return args; }
或者如果你想进一步浓缩
String[] strings = array("a,c"); private String[] array(String args){ return args.split(",?"); }