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

除了instanceof运算符外,还有什么其他方法可以在java中进行对象类型比较?

邬承悦
2023-03-14
问题内容

我记得在Java书籍中读过有关“ instanceof”以外的任何运算符的信息,用于比较两个对象之间的类型层次结构。

instanceof是最常用和最常用的。我无法清楚地记得是否确实存在另一种方式。


问题答案:

就在这里。不是运算符,而是Class类上的方法。

它是: isIntance(Object
o)

从文档引用:

…此方法是Java语言instanceof运算符的动态等效项

public class Some {
    public static void main( String [] args ) {
        if ( Some.class.isInstance( new SubClass() ) ) {
            System.out.println( "ieap" );
        } else { 
            System.out.println( "noup" );
        }
    }
}
class SubClass extends Some{}


 类似资料:
  • 问题内容: 为什么没有人提及嵌套循环联接? 问题答案: 如果希望/可以读取未提交的记录,则在联接上使用(NOLOCK)可能会提高性能。 什么时候应该使用“with(nolock)”

  • 问题内容: 我想知道是否存在以下有效用例: 接受类型为where 的集合似乎是一种常见的模式(请参见Collections中的许多示例)。 但是,与基类进行比较时,在技术上似乎无法履行合同,因为无法确保另一类不会通过矛盾的比较来扩展基数。考虑以下示例: 我们有两个类,它们使用不遵循共同规则的比较进行扩展(如果存在共同规则,则几乎可以肯定在中实现)。但是,下面的破碎类将被编译: 只接受不安全吗?还是

  • 问题内容: 我在Windows 7上使用VirtualBox 5.0.6安装了Docker工具箱1.8.3。 在 Docker Quickstart Terminal 启动期间创建的 默认 虚拟机为定义了一个共享文件夹。是否可以将其他共享文件夹永久添加到该虚拟机,例如在主机上安装驱动器? __ 问题答案: 该boot2docker自述中提到 另外,Boot2Docker包括内置的VirtualBo

  • 问题内容: 我想知道是否有一种方法比使用然后将其用作JFrame的尺寸然后将JFrame设置为更好?Java中是否会有某种预构建的功能来控制图形卡以实现真正的全屏显示? 问题答案: 您正在追求所谓的“全屏独家模式” 请查看全屏独占模式以了解更多详细信息。 但是请理解,它在Swing中不能很好地发挥作用。 在Mac OS X 10.7下,您可以使用来访问它为应用程序提供的全屏支持 。 查看OSX L

  • 问题内容: 运算符是做什么用的?我看过类似的东西 但是,这对我来说都没有意义。我已经完成了研究,但只提出了没有任何解释的示例。 问题答案: 是用于测试对象(实例)是否为给定Type的子类型的二进制运算符。 想像: 然而,随着;, 因为是的超类型,可能较少。 和, 这是因为Dog既不是的子类型也不是的父类型Cat,并且它也不实现它。 请注意,上面用于的变量是类型。这是一个运行时操作,将我们带到一个用

  • 问题内容: 前几天与同事进行了交谈。 使用构造函数是显而易见的,但是还有其他方法吗? 问题答案: 有四种在Java中创建对象的方法: 一 。使用关键字 这是在Java中创建对象的最常见方法。几乎99%的对象都是通过这种方式创建的。 乙 。使用 如果我们知道类的名称,并且它具有公共的默认构造函数,则可以通过这种方式创建一个对象。 Ç 。使用 clone()可用于创建现有对象的副本。 d 。使用 对象