Почему я не могу инициализировать анонимный массив строк с начальной емкостью? - PullRequest
0 голосов
/ 21 февраля 2020

Я пытаюсь создать новый анонимный массив String:

 String[] arr= new String[3]{"a", "b", "c"};

Но IDE дает мне синтаксис ошибок во время компиляции. Этот синтаксис доступен на другом языке, но почему Java этого не позволяет?

Ответы [ 3 ]

1 голос
/ 21 февраля 2020

Этот синтаксис доступен на каком-то другом языке, но почему Java этого не позволяет?

Поскольку он либо избыточен, либо подвержен ошибкам.

  • Это избыточно, если размер массива и количество элементов в инициализаторе должны быть одинаковыми.

  • Это подвержено ошибкам, если размер массива и количество элементов в инициализаторе могут быть различны. (Для читателя не очевидно, есть ли в конце инициализированные элементы по умолчанию ... если только читатель не подсчитает элементов вручную.)

Это мое мнение. Мы не знаем , если дизайнеры языка Java использовали те же рассуждения. В любом случае, это спорный вопрос.

0 голосов
/ 21 февраля 2020

Вам не нужно писать new String[], просто запись элементов массива объявляет новый массив.

String[] arr= {"a", "b", "c"};
0 голосов
/ 21 февраля 2020

Удалить 3:

String[] arr= new String[]{"a", "b", "c"};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...