【问题标题】:How to test if a Object is a Java AWT component? [duplicate]如何测试 Object 是否是 Java AWT 组件? [复制]
【发布时间】:2016-06-02 11:30:28
【问题描述】:

我有一个方法,它将接收一个包含类列表的字符串数组。我必须检查一个是 Java AWT 组件并返回一个包含这些组件实例的列表。但是我一直在测试 Object 是否是 java Awt 组件。你能帮我么 !谢谢

编辑:谢谢!它适用于 .isAsignableFrom() 方法。我知道 instanceof 运算符,但并不认为它会起作用。!

【问题讨论】:

  • 您已经拥有这些对象了吗?还是只是类名?
  • 最简单的方法:将类名解析为Class 并进行instanceof 检查。

标签: java awt


【解决方案1】:

如果你想检查类层次结构而不先创建实例

Class<?> clazz = Class.forName(className);  // errors out for bad name
if (Component.class.isAssignableFrom(clazz)){
   // ...
}

【讨论】:

    【解决方案2】:

    如果您有对象,那么您可以使用getClass method 获取类名:

    返回此对象的运行时类。返回的 Class 对象是 被静态同步方法锁定的对象 代表班级。

    如果您必须检查指定的类(如 Component),则另一种选择是使用 instanceof 运算符。如果要检查对象是否属于特定类型,可以使用 instanceof 运算符。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-01-11
      • 2011-09-12
      • 1970-01-01
      • 1970-01-01
      • 2010-11-12
      • 2012-02-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多