Почему первый вызов someMethod не компилируется, не будучи явным, что это String []?
Хорошо использовать инициализатор массива для создания массива String [], но вы не можете использовать его для передачи аргумента. Являются ли фигурные фигурные скобки используемыми каким-либо другим способом для передачи аргументов, которые сходят с ума, как я ожидаю, что это будет вести себя?
public void someMethod(String[] arr){
//do some magic
}
public void makeSomeMagic(){
String[] arr = {"cat", "fish", "cow"};
//Does not compile!
someMethod({"cat", "fish", "cow"});
//This compiles!
someMethod(new String[]{"cat", "fish", "cow"});
//This compiles!
someMethod(arr);
}
Ошибка компилятора:
Метод someMethod (String []) в типе Moo неприменим для аргументов (String, String, String)