I'm a newbie to Java and want to write a method checking if this object is of a sub class of given class <p_SuperClassName>. Eclipse denies compilation of the following code giving the message that "cls_Super can not be resolved to a type". I don't know why. Do you have a quick answer to this? Thx a lot in advance!
protected boolean isOfSubClassOf(String p_SuperClassName) {
boolean res = false;
Class<?> cls_Super = null;
try {
cls_Super = Class.forName(p_SuperClassName);
res = (this instanceof cls_Super);
} catch (ClassNotFoundException cnfe) {
System.out.println("ClassNotFoundException: Did not find class '" + p_SuperClassName + "'.");
cnfe.printStackTrace();
}
return res;
}
as described previously
You can't use a Class variable with the
instanceofkeyword, only the literal type name (e.g.obj instanceof ActualSuperClassName). With an instance of typeClass(i.e.cls_Super, in your example), you can perform the same test by using theClass.isInstancemethod, i.e.: