isAssignableFrom和isInstance

来源:互联网 发布:盖革计数器 淘宝 编辑:程序博客网 时间:2024/06/10 01:44

1.Class类的isAssignableFrom(Class cls1)方法:

方法用于判断当前类是否是cls1类的父类或cls1类本身,或当前接口是否是cls1已实现的接口。


API描述如下:

isAssignableFrom(Class<?> c)

Can c be assigned to this class? For example, String can be assigned to Object (by an upcast), however, an Object cannot be assigned to a String as a potentially exception throwing downcast would be necessary.

c是否能强转为当前类?例如:String可以被强转为Object(通过向上转型),然而一个Object对象强转为一个String可能会抛出向下转型异常。

------------------------------------------------------------------------------------------------------------------------------------

Class类的isInstance(Object obj)方法:

方法用于判断obj对象是否是当前类或其子类的对象,或是否是当前接口的实现


API描述如下:

isInstance(Object object)

Tests whether the given object can be cast to the class represented by this Class.

验证对象object是否可以转成当前类。




以下内容参考自:http://blog.csdn.net/hudashi/article/details/7913706

instanceof 的使用格式是:   
oo   instanceof   TypeName
第一个参数是对象实例名,第二个参数是具体的类名或接口名,例如   String,InputStream。     
isAssignableFrom通常调用格式是  
Class1.isAssignableFrom(Class2)     
调用者和参数都是java.lang.Class类型。   
isInstance通常调用格式是  
Class1.isInstance(oo)     
第一个参数是具体的类名或接口名,例如   String,InputStream;第二个参数是对象实例名
本文编辑整理自:http://caojunwei.iteye.com/blog/799000

============================================================================

0 0
原创粉丝点击