我看到使用getClass()
和==
运算符超过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
操作员的做法不好吗?