instancia de Vs getClass ()

Veo un aumento en el rendimiento cuando usogetClass() y== operador sobreinstanceOf operador.

Object  str = new Integer("2000");

long starttime = System.nanoTime();

if(str instanceof String) {
    System.out.println("its string");
} else {
    if (str instanceof Integer) {
        System.out.println("its integer");

    }
}

System.out.println((System.nanoTime()-starttime));

starttime = System.nanoTime();

if(str.getClass() == String.class) {
    System.out.println("its string in equals");
} else {
    if(str.getClass() == Integer.class) {
        System.out.println("its integer");
    }
}

System.out.println((System.nanoTime()-starttime));

¿Hay alguna directriz, cuál usargetClass() oinstanceOf?

Dado un escenario: sé las clases exactas que deben coincidir, es decirString, Integer (estas son las clases finales), etc.

Esta usandoinstanceOf operador mala práctica?

Respuestas a la pregunta(4)

Su respuesta a la pregunta