Подтвердить что ты не робот

Java: примитивные массивы - они инициализированы?

Если я использую оператор в своем коде, например

int[] a = new int[42];

Будет ли инициализация массива чем-либо в частности? (например, 0) Кажется, я помню, что это документировано где-то, но я не уверен, что искать.

4b9b3361

Ответ 2

При создании массивы автоматически инициализируются значением по умолчанию их типа - в вашем случае это будет 0. По умолчанию используется false для boolean и null для всех типов ссылок.

Ответ 3

Массив будет инициализирован с помощью 42 0s

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

new boolean[42]; // would have 42 falses
new double[42]; // would have 42 0.0 ( or 0.0D )
new float[42]; // 42  0.0fs
new long[42]; // 42  0Ls 

И так далее.

Для объектов вообще это будет null:

String [] sa = new String[42]; // 42 nulls 

Date [] da = new Date[42]; // 42 nulls

Ответ 4

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

int[] arrayTest = new int[10];
System.out.println(arrayTest[5]) // prints zero