¿Cuál es la diferencia entre Instanceof Operator y Getclass () en Java?

2 Respuestas


  • Método GetClass () en la clase de objeto:

    String s = new String ();

    System.out.printl />
    Devuelve la clase de tiempo de ejecución de un objeto. Aquí el objeto es 's' y su tipo es String, por lo que devuelve String

    ------

    instanceof es una palabra clave.
    Comprueba una referencia de objeto si está definida por una clase o sus subclases y devuelve un valor booleano;
    los instanceof Object devolverá verdadero para todas las referencias a objetos, ya que todos los objetos Java se heredan de Object . Tenga en cuenta que instanceof siempre devolverá falso si es nulo .
    Sintaxis:
    instancia de ClassName

    por ejemplo,

    perro instancia de Perro :: Verdadera
    instancia dálmata de Perro   :: Verdadera
    instancia de perro dálmata :: Falso

    Espero que ayude ...



  • La razón por la que el rendimiento de instanceof y getClass ()
    == ... es diferente es que están haciendo cosas diferentes.

    • instanceof comprueba
          si la referencia de objeto en el lado izquierdo (LHS) es una instancia del
          tipo en el lado derecho (RHS) o algún subtipo .
    • getClass ()
          == ... Comprueba si los tipos son idénticos.

    Entonces, la recomendación es ignorar el problema de rendimiento y
    usar la alternativa que le brinde la respuesta que necesita.


Escribe tu respuesta

Tu respuesta aparecerá después de la moderación