Когда вы определяете массив в строке определения, предполагается, что он знает, каким будет тип, поэтому new int[]
является избыточным.Однако, когда вы используете присваивание, оно не предполагает, что знает тип массива, поэтому вы должны указать его.
Конечно, другие языки не имеют проблем с этим, но в Java разница в том, определяете ли вы и инициализируете поля / переменные в одной строке.