Если я объявляю массив String
:
String names[] = new String[3];
Тогда почему мы не можем присваивать значения объявленному массиву так:
names[] = {"Ankit","Bohra","Xyz"};
Если я объявляю массив String
:
String names[] = new String[3];
Тогда почему мы не можем присваивать значения объявленному массиву так:
names[] = {"Ankit","Bohra","Xyz"};
Во время объявления вы можете сделать следующее:
String names[] = {"Ankit","Bohra","Xyz"};
И если вы хотите сделать это где-то после объявления:
String names[];
names = new String[] {"Ankit","Bohra","Xyz"};
names[] = {"Ankit","Bohra","Xyz"};
является инициализатором и используется исключительно при построении или создании нового объекта массива. Его нельзя использовать для установки массива. Вы можете использовать его при объявлении как:
String[] names= {"Ankit","Bohra","Xyz"};
Вы также можете использовать:
names=new String[] {"Ankit","Bohra","Xyz"};
Во-первых, это не имеет ничего общего с String
, это касается массивов.. и это слишком конкретно о декларативной инициализации массивов.
Как обсуждалось всеми почти в каждом ответе здесь, вы можете, объявляя переменную, использовать:
String names[] = {"x","y","z"};
Однако объявление post, если вы хотите назначить экземпляр массива:
names = new String[] {"a","b","c"};
AFAIK, синтаксис объявления - это синтаксический сахар , и он больше не применим при назначении значений для переменных, поскольку при назначении значений вам необходимо создать экземпляр правильно.
Однако, если вы спросите нас, почему это так? Ну... удачи, получив ответ на это. Если кто-либо из комитета Java не ответит на это, или имеется явная документация, ссылающаяся на указанный синтаксический сахар.
Вы имеете в виду:
String names[] = {"Ankit","Bohra","Xyz"};
Но вы можете сделать это только в том же самом заявлении, когда объявляете его
Это просто не действительный синтаксис Java. Вы можете сделать
names = new String[] {"Ankit","Bohra","Xyz"};