java反射系列03 isInstance() isAssignFrom()

来源:互联网 发布:神经网络有哪些算法 编辑:程序博客网 时间:2024/05/21 14:05

isInstance()

Class<Object> clz = Object.class;clz.isInstance(new String("dengyi"));

如果new String(“dengyi”)实例的类也就是String类是Object类的子类则返回true

isInstance()与 instanceof关键字的区别

  • 使用场景不同
  • 当发生转型异常时,instanceof会无法通过编译,而isInstance()仅返回false
Integer i = 0;i instandeof String; //无法通过编译String.class.isInstance(i); //返回false

isAssignFrom()

List.class.isAssignFrom(ArrayList.class);

如果List.class是ArrayList.class的父类或父接口,则返回true。
否则返回false

原创粉丝点击