Я следую учебному курсу Java в Интернете, пытаясь выучить язык, и он подпрыгивает между двумя семантиками для использования массивов.
long results[] = new long[3];
results[0] = 1;
results[1] = 2;
results[2] = 3;
и
long results[] = {1, 2, 3};
В учебнике никогда не упоминалось, почему он переключался между ними, поэтому я немного искал эту тему. Мое настоящее понимание заключается в том, что оператор new
создает объект типа "массив длин". Я не понимаю, почему я хочу этого и каковы последствия этого?
- Существуют ли определенные "массивы" конкретные методы, которые не будут работать в массиве, если это не "объект массива"?
- Есть ли что-нибудь, что я не могу сделать с "объектом массива", который я могу сделать с обычным массивом?
- Нужно ли виртуальной машине Java очищать объекты, инициализированные оператором
new
, что обычно не нужно делать?
Я прихожу с C, поэтому моя терминология Java, возможно, неверна здесь, поэтому, пожалуйста, попросите пояснить, если что-то непонятное.