如何获取类的类型进行比较

时间:2010-03-11 19:27:29

标签: java superclass gettype

我有这个对象,它是超类的一个实例。我想知道该对象究竟是哪个子类,以便我可以决定如何处理它。有这个getClass()方法,但它显然不用于比较问题。如何获取对象的子类型?

2 个答案:

答案 0 :(得分:1)

Class c =(你的超类名).getClass();

if(c.getName ==“你的子类名”)  采取行动

答案 1 :(得分: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");
    }
  }

}

请参阅Beware of instanceof operator