当前位置: 首页 > 面试题库 >

检查对象是否属于Java中的类

秦新立
2023-03-14
问题内容

有没有一种简单的方法来验证对象属于给定的类?例如,我可以

if(a.getClass() = (new MyClass()).getClass())
{
    //do something
}

但这需要每次在运行中实例化一个新对象,而只是将其丢弃。有没有更好的方法来检查“ a”是否属于类“ MyClass”?


问题答案:

instanceof其他答案所述,关键字通常是您想要的。请记住,超类instanceof也会返回true

如果要查看对象是否是类的直接实例,则可以比较该类。您可以通过获取实例的类对象getClass()。您可以通过静态访问特定的类ClassName.class

因此,例如:

if (a.getClass() == X.class) {
  // do something
}

在上面的例子中,如果该条件为真a是的一个实例X,但如果a是的子类的实例X

相比下:

if (a instanceof X) {
    // do something
  }

instanceof示例中,如果a是的实例X,或者a是的 子类 的实例,则条件为true X

大多数时候,instanceof是对的。



 类似资料:
  • 有没有简单的方法来验证对象是否属于给定的类?例如,我可以这样做 但是这需要每次动态实例化一个新对象,只是丢弃它。有更好的方法来检查“a”属于“MyClass”类吗?

  • 问题内容: 如何检查JavaScript对象或数组中是否存在特定键? 如果密钥不存在,而我尝试访问它,它将返回false吗?还是抛出错误? 问题答案: 检查不确定性不是测试密钥是否存在的准确方法。如果密钥存在但值实际上是怎么办? 您应该改为使用运算符: 如果要检查密钥是否不存在,请记住使用括号: 或者,如果您要特别测试对象实例的属性(而不是继承的属性),请使用: 有关和的方法之间的性能比较,关键是

  • 问题内容: 如何检查值是否是JavaScript中的Object? 问题答案: 更新 : 这个答案是不完整的,并且会产生误导性的结果 。例如,在JavaScript中也被视为类型,更不用说其他几种极端情况了。请遵循以下建议,然后转到其他 原始答案 : 尝试使用和/或。 编辑:这个答案给出了一个如何检查变量属性的想法,但是它不是一个防弹配方(毕竟根本没有配方!)来检查它是否是一个对象,而不是对象。由

  • 问题内容: 我正在玩Java的反射API,并尝试处理一些字段。现在,我要确定字段的类型。字符串很简单,只需执行即可。其他非派生类也是如此。但是,如何检查派生类?例如作为的子类。我无法找到任何或方法。我是否需要遍历所有人并自己找到超人? 问题答案: 您需要此方法: 一般情况下,(以上)应替换为并应替换为 从JavaDoc: 确定此对象表示的类或接口是否与指定参数表示的类或接口相同或超类或超接口。如果

  • 问题内容: 类文件对象是Python中的对象,其行为类似于真实文件,例如具有read()和write method(),但实现方式不同。这是鸭打字概念的实现。 优良作法是在需要文件的任何地方都允许使用类似文件的对象,以便可以使用StringIO或Socket对象代替实际文件。因此执行这样的检查很不好: 检查对象(例如方法的参数)是否为“类文件”的最佳方法是什么? 问题答案: 除非您有特殊要求,否则

  • 问题内容: 有没有一种快速的方法来检查对象是jQuery对象还是本机JavaScript对象? 例: 显然,上面的代码有效,但并不安全。您可能会向对象添加选择器键并获得相同的结果。有没有更好的方法来确保该对象实际上是jQuery对象? 符合 问题答案: 您可以使用运算符: 说明 :该函数(又名)被实现为构造函数。构造函数将以前缀调用。 调用时,内部jQuery将此转换为1。JavaScript继续