嗯,您的第二条语句按照Java的标准是正确的,但是在您的第一个示例中,Java可能正试图防止由于精度下降而将双精度转换为浮点数,因此程序员必须明确要求:
double a = //some double;float b = (float) a; //b will lose some of a's precision

嗯,您的第二条语句按照Java的标准是正确的,但是在您的第一个示例中,Java可能正试图防止由于精度下降而将双精度转换为浮点数,因此程序员必须明确要求:
double a = //some double;float b = (float) a; //b will lose some of a's precision