java中类型转换
1.基本数据类型转换
char, byte,short,int,long,float,double,boolean
(1)小类型数据可以直接赋给大类型数据
例:char a='m' ; int b=2; long c=3; double d=4;
b=a;
注:byte型数据不能直接赋给char型数据,因为byte表示的是8位有符号数,而char表示的是16位无符号数。
同理short型数据(16位有符号数)与char型数据也不能直接通过赋值转换。
boolean不能与其他任何原型数据转换
(2)大类型数据可以强制转换成小类型数据
b=(int)c;
2.对象类型数据转换
正确的转换:
Object oa=new Integer(5);
Integer ia=(Integer)oa;
oa引用的是Integer类型对象,Integer类型引用ia当然可以指向它。
错误的转换:
Object oa=new Object();
Integer ia=(Integer)oa;
oa引用的是Object类型对象,Integer类型引用ia不能指向它的父类类型的对象。
(2) 正确的转换:
class A{
}
class B extends A{
}
class C extends B{
}
Object oa=new C();
B b=(B)oa;
oa引用的是C类类型对象,而类C继承了类B,所以B类型引用b可以指向它的子类类型的对象。
浙公网安备 33010602011771号