在Java中为装箱类进行类型转换?

在Java中为装箱类进行类型转换?,java,class,casting,Java,Class,Casting,Java中有可能取消装箱,为什么我不能使用Integer类进行向下转换 double a=20.3; int b=(Integer)a; 它给我错误不兼容的类型转换。我的问题是为什么Integer类不能像 int b=(int)a; 在Java中,转换是否与基元类型的类一起工作?double不能自动转换为整数。但是,int可以自动装箱为整数。看 double a=20.3; Integer b = (int) a; int c = b; // c = 20;

Java中有可能取消装箱,为什么我不能使用Integer类进行向下转换

double a=20.3;
int b=(Integer)a;
它给我错误不兼容的类型转换。我的问题是为什么Integer类不能像

int b=(int)a;

在Java中,转换是否与基元类型的类一起工作?

double不能自动转换为整数。但是,int可以自动装箱为整数。看

    double a=20.3;
    Integer b = (int) a;
    int c = b; // c = 20;