Как получить тип класса для сравнения - PullRequest
0 голосов
/ 11 марта 2010

У меня есть этот объект, который является экземпляром суперкласса.Я хочу знать, какой подкласс этого объекта на самом деле, чтобы я мог решить, что с ним делать.Есть метод getClass (), но он явно не используется для сравнения.Как я могу получить подтип моего объекта?

Ответы [ 2 ]

1 голос
/ 11 марта 2010

У вас может быть недостаток дизайна, если вы пытаетесь это сделать, но 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");
    }
  }

}

См. Остерегайтесь оператора instanceof .

1 голос
/ 11 марта 2010

Class c = (ваше имя суперкласса) .getClass ();

if (c.getName == "ваше имя подкласса") принять действие

...