在进行强制类型转换之前,先用instanceof运算符判断是否可以成功转换。从而避免异常,保证程序的健壮性。 例:
objPri变量实际类型是Integer, String str = (String)objPri;出现ClassCastException异常。应该:
if(objPri instanceof String){
String str = (String)objPri;
}
instanceof运算符的前一个操作数通常是一个引用类型变量,后一个通常是一个类(接口),用于判断前面的对象是否是后面的类,或者其子类、实现类的实例。
注意:instanceof运算符前面操作数的编译时类型要么与后面的类相同,要么与后面的类具有父子继承关系,否则会引起编译错误。