thể trùng lặp:
Does Java guarantee that Object.getClass() == Object.getClass()?Có thể so sánh các đối tượng java.lang.Class với == trong Java không?
Nếu tôi có một lớp như
Class<? extends MyObject> aClass = ...;
thể tôi sau đó làm:
if (aClass == MySubObject.class) { ... }
hoặc tôi phải làm
if (aClass.equals(MySubObject.class)) { ... }
Ngoài ra, để biết câu trả lời, tôi rất muốn biết tham chiếu tức là nơi xác định điều này.
Tôi thích sử dụng ==
nếu có thể, vì tôi thấy nó dễ đọc hơn và nhanh hơn. (Rõ ràng nó không phải rằng có rất nhiều dễ đọc hơn, hoặc rằng có rất nhiều nhanh hơn, nhưng vẫn còn, tại sao sử dụng một giải pháp phức tạp hơn nếu một giải pháp đơn giản có sẵn.)
http://stackoverflow.com/questions/3738919/does-java-guarantee-that-object-getclass-object-getclass –
Một trang khác http://stackoverflow.com/questions/928531/does-java-have -an-is-type-of-class-test-method –
http://stackoverflow.com/questions/5997801/java-comparing-classes-with-or-equals-is-there-a-difference –