Дефиниране на 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
@Logan Не точно. 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