Java, наиболее эффективный способ передать массив String в качестве параметра метода
У меня есть следующий код
String[] args = {"a", "b", "c"};
method(args);
private void method(String[] args){
return args;
}
Почему я не могу сделать следующее без ошибок?
method({"a", "b", "c"});
Этот код является примером только для доказательства точки, а не фактических методов, которые я использую. Я бы хотел сделать второй метод, чтобы очистить мой код и не объявлять десяток различных массивов, когда я использую их только один раз, чтобы перейти к моему методу.
Сердце вопроса - это самый эффективный способ передать массив строк в качестве параметра параметра.
Ответы
Ответ 1
Я подозреваю, что вы хотите использовать varargs. Вам даже не нужно создавать массив для отправки аргументов переменной длины.
String[] strings = method("a", "b", "c");
private String[] method(String... args){
return args;
}
или
String[] strings = array("a", "b", "c");
private <T> T[] array(T... args){
return args;
}
или если вы хотите конденсироваться далее
String[] strings = array("a, b, c");
private String[] array(String args){
return args.split(", ?");
}
Ответ 2
попробовать
method(new String[]{ "a", "b", "c"});
таким образом система знает, что это новый строковый массив.
java не похож на php;)
Ответ 3
Если вы используете:
method({ "a", "b", "c"});
тогда java не знает, хотите ли вы массив String
или Object
. Вы можете явно указать java, какой тип массива выглядит следующим образом:
method(new String[] { "a", "b", "c"});
Таким образом, Java может сказать, что вы имеете в виду массив String
.
Ответ 4
Вам не нужна именованная ссылка на массив. Вы можете инициализировать и передать анонимный массив следующим образом:
method (new String[]{"a", "b"});