isAssignableFrom和isInstance、instanceof
生活随笔
收集整理的这篇文章主要介绍了
isAssignableFrom和isInstance、instanceof
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
Class.isAssignableFrom
Java的Class类,有一个native的方法: isAssignableFrom
public native boolean isAssignableFrom(Class<?> cls);它的作用是判断调用这个方法或者接口的类或接口与参数传入的类或接口是否相同,或者是其父类,例如:
Object.class.isAssignableFrom(String.class); // trueClass.isInstance
类似的,Class类还有一个native的方法: isInstance
public native boolean isInstance(Object obj);它的作用是,传入的参数obj对象(如果为null,则直接返回false),是否是调用这个方法的类或接口的实例,或是其子类的实例,例如:
Map map = new HashMap(); Map.class.isInstance(map); // trueinstanceof
当然,还有最常用的,关键字instanceof
判断左边的对象(如果为null,则直接返回false),是否是右边类或接口的实例,或者子类的实例
总结
通过对比可以发现,Class.instance 和 instanceof 的作用其实是一样的,是判断一个对象和类或接口的关系,而Class.isAssignableFrom判断的是两个类或接口之间的关系
总结
以上是生活随笔为你收集整理的isAssignableFrom和isInstance、instanceof的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: Android stutdio2.2 启
- 下一篇: Docker 使用Dockerfile构