Определение массива int в Java

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

int[] numbers = new int [] {1,2,3,4,5};

и

int[] numbers = {1,2,3,4,5};

или они выражают то же самое?

Какой из них использовать?


person user8213166    schedule 11.05.2018    source источник
comment
используйте второй - он короче ;)   -  person Veselin Davidov    schedule 11.05.2018
comment
Они точно такие же. Используйте то, что вам кажется более ясным.   -  person khelwood    schedule 11.05.2018
comment
@ Логан Не совсем так. new int[] {...} необходимо использовать, когда назначение отделено от объявления переменной (что не относится к вопросу OP). Неважно, поле это или локальная переменная.   -  person khelwood    schedule 11.05.2018
comment
Первый - правильный метод распределения в java.   -  person happy_coding    schedule 12.05.2018


Ответы (1)


Вы можете взглянуть на метод ниже, чтобы понять разницу:

public int[] getFewInts() {
   // You can't directly return {1,2,3,4,5};
   return new int [] {1,2,3,4,5};
}

Если вы хотите вернуть массив int[] из метода в одной строке, вы можете сделать это просто new int [] {1,2,3,4,5};, где вы не можете сделать это с другим, то есть {1,2,3,4,5}.

Та же концепция применяется, когда вы хотите передать тип int[] в качестве параметра методу.

person developer    schedule 11.05.2018
comment
То же самое, когда объявление и создание экземпляра находятся в двух операторах. int[] array; array = {1,2,3}; Обозначение можно использовать только во время объявления. - person AxelH; 11.05.2018