Я пытаюсь создать новый анонимный массив String:
String[] arr= new String[3]{"a", "b", "c"};
Но IDE дает мне синтаксис ошибок во время компиляции. Этот синтаксис доступен на другом языке, но почему Java этого не позволяет?
Этот синтаксис доступен на каком-то другом языке, но почему Java этого не позволяет?
Поскольку он либо избыточен, либо подвержен ошибкам.
Это избыточно, если размер массива и количество элементов в инициализаторе должны быть одинаковыми.
Это подвержено ошибкам, если размер массива и количество элементов в инициализаторе могут быть различны. (Для читателя не очевидно, есть ли в конце инициализированные элементы по умолчанию ... если только читатель не подсчитает элементов вручную.)
Это мое мнение. Мы не знаем , если дизайнеры языка Java использовали те же рассуждения. В любом случае, это спорный вопрос.
Вам не нужно писать new String[], просто запись элементов массива объявляет новый массив.
new String[]
String[] arr= {"a", "b", "c"};
Удалить 3:
3
String[] arr= new String[]{"a", "b", "c"};