当使用 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
操作符是不好的做法吗?