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