Инициализация массивов с помощью { }

#arrays

#массивы

Вопрос:

Есть ли разница между выполнением

 int[] s = new int[]{0, 1, 2, 3};
 

и

 int[] s = {0, 1, 2, 3};
 

Из того, что я вижу, операции с любым из них идентичны.

Комментарии:

1. Пожалуйста, укажите язык, добавив соответствующий тег.

Ответ №1:

Предполагая, что вы имеете в виду java, семантической разницы нет, хотя может быть, что первый случай немного менее эффективен: в этом случае создается временный массив и присваивается переменной массива. «Свободный» неназванный объект немедленно очищается, но может потребоваться дополнительное назначение. Однако, в любом случае, это, скорее всего, будет оптимизировано.