Tôi thấy hiệu suất đạt được khi sử dụng getClass()
và ==
toán tử hơn instanceOf
toán tử.
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));
Có bất kỳ hướng dẫn, cái nào để sử dụng getClass()
hoặc instanceOf
?
Đưa ra một tình huống: Tôi biết chính xác các lớp sẽ được so khớp, nghĩa là String
, Integer
(đây là các lớp cuối cùng), v.v.
Sử dụng instanceOf
toán tử có thực hành xấu không?