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

class.isAssignableFrom

2016-05-04 11:27 591 查看
instanceof 针对实例 

isAssignableFrom针对class对象

 

isAssignableFrom   是用来判断一个类Class1和另一个类Class2是否相同或是另一个类的超类或接口。   

通常调用格式是  

Java代码  



Class1.isAssignableFrom(Class2)     

public boolean isAssignableFrom(Class<?> c) {
if (this == c) {
return true;  // Can always assign to things of the same type.
} else if (this == Object.class) {
return !c.isPrimitive();  // Can assign any reference to java.lang.Object.
} else if (isArray()) {
return c.isArray() && componentType.isAssignableFrom(c.componentType);
} else if (isInterface()) {
// Search iftable which has a flattened and uniqued list of interfaces.
Object[] iftable = c.ifTable;
if (iftable != null) {
for (int i = 0; i < iftable.length; i += 2) {
Class<?> ifc = (Class<?>) iftable[i];
if (ifc == this) {
return true;
}
}
}
return false;
} else {
if (!c.isInterface()) {
for (c = c.superClass; c != null; c = c.superClass) {
if (c == this) {
return true;
}
}
}
return false;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  实例 android开发