我看到使用getClass()
and==
运算符而不是运算符时性能有所提高instanceOf
。
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));
是否有任何指导方针,使用哪一个getClass()
?instanceOf
给定一个场景:我知道要匹配的确切类,即String
(Integer
这些是最终类)等。
使用instanceOf
操作员是不好的做法吗?