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

标签 java superclass gettype

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

最佳答案

如果您尝试执行此操作,但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 .

关于java - 如何获取类的类型进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2427999/

相关文章:

java - 在核心 Java 中的其他相关类中共享不可变类的内部示例

java - 复制构造函数在这里没用?

java - 继承和子类基础知识

java - 为什么子类的私有(private)变量存储在父类(super class)类型变量中时仍被保留?

c# - 如何在 c# 上将 asp.net 用户控件的当前类名转换为字符串?

java - Java 中的 move/复制文件操作

java - Android 保存二维字符串数组的最佳方法

C#.NET : internal class accessible from another class using Type. GetType 和 Activator.CreateInstance?

c# - 需要帮助将 C# 转换为 vb。 "array initializer is missing 1 elements"