Я некоторое время писал на Java и даже начал учить этому других.Мне трудно объяснить новому студенту, почему значения массива с плавающей точкой должны быть преобразованы.Например:
float[] someArray = {(float) 23.23, (float) 123.1, (float) 123.1};
int[] intArray = {12, 13, 4, 5};
double[] doubleArray = {22.12, 23.1, 12.1};
Я предполагаю, что значения, включающие десятичные дроби, просто обрабатываются как Double, а не как числа с плавающей запятой, отсюда и необходимость приведения.По какой причине Java выбирает именно так, не может ли компилятор понять, что, поскольку это массив с плавающей точкой, он будет принимать значения с плавающей точкой?