为什么不能将Byte对象/字节值强制转换为Double对象?从Byte到Double的转换会影响精度吗?

Spm*_*mmr 6 java double primitive byte casting

public class Primitive {
    public static void main(String []args) {


    byte x=5;
    Double y=(Double)x;  //Error :  Cannot cast from byte to Double.

    Byte n=7;
    Double m=(Double)n; //Error : cannot cast from Byte to Double.

    double c=n; //working right ..."double is primitive and Byte is object ".
    }
}
Run Code Online (Sandbox Code Playgroud)

防止将Byte转换为Double的重点是什么?..如果我没有错,我知道Double to Byte的精确原因.

Tim*_*sen 0

您试图将原语强制转换byteDouble类,但您不能这样做。如果您尝试使用以下代码,则不会有问题:

byte x=5;
double y = (double)x;  // No error
Run Code Online (Sandbox Code Playgroud)

如果你想使用Double类而不是primitive double,那么你可以尝试这个:

byte x=5;
Double y = Double.valueOf(x).doubleValue();
Run Code Online (Sandbox Code Playgroud)