您的位置:首页 > 移动开发 > Android开发

isAssignableFrom和isInstance

2016-06-13 18:38 411 查看
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

============================================================================
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android Java