Ich sehe einen Leistungsgewinn bei der Verwendung von getClass()
und ==
Operator über instanceOf
Operator.
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));
Gibt es eine Richtlinie, welche zu verwenden ist getClass()
oder instanceOf
?
In einem vorgegebenen Szenario: Ich weiß genau Klassen angepasst werden, das heißt String
, Integer
(diese sind final Klassen) usw.
Ist die Verwendung des instanceOf
Bedieners eine schlechte Praxis?