代码之家  ›  专栏  ›  技术社区  ›  Halo

如何获取要比较的类的类型

  •  0
  • Halo  · 技术社区  · 15 年前

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

    2 回复  |  直到 15 年前
        1
  •  1
  •   Pierre-Antoine LaFayette    15 年前

    如果你想这么做,你可能会有一个设计缺陷,但是 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 .

        2
  •  1
  •   erasmus    15 年前

    C类=(你的超级类名).getClass();

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