下面是我的一个类,用来判断是否A是B的子类
public boolean isMutipleAction(String type) {
Class clazz = Class.forName(type);
try
if(clazz.isAssignableFrom(org.apache.struts.action.DispatchAction.class))
return true;
}
catch(Exception ee) {
}
return false;
}但是无效,无论怎样得到都是false,
后来我换了一种做法就行了
Object clazz = Class.forName(type).newInstance();
clazz instanceof org.apache.struts.action.DispatchAction
就ok了
用class的isInstance似乎也不行
那位给我详细讲一下,谢谢
public boolean isMutipleAction(String type) {
Class clazz = Class.forName(type);
try
if(clazz.isAssignableFrom(org.apache.struts.action.DispatchAction.class))
return true;
}
catch(Exception ee) {
}
return false;
}但是无效,无论怎样得到都是false,
后来我换了一种做法就行了
Object clazz = Class.forName(type).newInstance();
clazz instanceof org.apache.struts.action.DispatchAction
就ok了
用class的isInstance似乎也不行
那位给我详细讲一下,谢谢
Class clazz = Class.forName(type);
try
if(clazz.equals(org.apache.struts.action.DispatchAction.class))
return true;
}
catch(Exception ee) {
}
return false;
}
equals判断class是否相同就可以了
我写错,应该是
clazz.getSuperclass().equals(org.apache.struts.action.DispatchAction.class)
org.apache.struts.action.DispatchAction.class.isAssignableFrom(clazz);
呵呵,我过去倒是直接用equals判断