我有这个对象,它是超类的一个实例。我想知道该对象到底是哪个子类,以便我可以决定如何处理它。有这个 getClass() 方法,但它显然不用于比较问题。如何获取对象的子类型?
问问题
220 次
2 回答
1
Class c = (你的超类名).getClass();
if(c.getName == "你的子类名") 采取行动
于 2010-03-11T19:28:08.553 回答
1
如果您尝试这样做,则可能存在设计缺陷,但是instanceof
.
public class MainClass {
public static void main(String[] a) {
String s = "Hello";
if (s instanceof java.lang.String) {
System.out.println("is a String");
}
}
}
于 2010-03-11T19:28:54.043 回答