instanceof Vs getClass ()

Vejo ganho de desempenho ao usargetClass() e== 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));

Existe alguma orientação, qual usargetClass() ouinstanceOf?

Dado um cenário: eu sei que classes exatas devem ser correspondidas, ou sejaString, Integer (são aulas finais) etc.

Está usandoinstanceOf má prática do operador?

questionAnswers(4)

yourAnswerToTheQuestion