В Java полностью законно инициализировать массив String следующим образом:
String[] s = {"FOO", "BAR"};
Однако при попытке создать экземпляр класса, который принимает массив String в качестве параметра, следующий фрагмент кода НЕ допускается:
Test t = new Test({"test"});
Но это снова работает:
Test t = new Test(new String[] {"test"});
Может кто-нибудь объяснить, почему это?