java-类型判断
instanceof
instanceof是java的一个运算符,用来判断一个对象是否为一个类的实例
obj instanceof Class //当obj为Class实例、子类实例时或接口实现类时返回true
- obj:一个对象实例,必须为引用类型,不能是基本类型
- Class:一个类或者接口
Class.isInstance
该方法是java1.1中引入的,这种方法等效于instanceof操作符。
User.class.isInstance(user);//如果参数不为空,并且可以在不引发ClassCastException的情况下成功将其强制转换为左边的类型时返回true
Class.isAssignableFrom
经常用来判断父子继承关系
List.class.isAssignableFrom(ArrayList.class)//调用者为父类,参数为本身、子类或实现类
Class.isPrimitive()
该方法是用来判断Class是否为基本类型
int.class.isPrimitive();//true
Integer.class.isPrimitive();//false