Có cách nào để phát hiện xem hai đối tượng trong Java có được đặt bí danh với nhau không? Trong C tôi đoán chúng ta có thể kiểm tra các địa chỉ bộ nhớ mà hai con trỏ trỏ đến. Nhưng có cách nào để làm điều đó trong Java?Có cách nào để kiểm tra xem hai đối tượng có được đặt bí danh trong Java không?
8
A
Trả lời
20
Trong java, các biến là các tham chiếu để bạn có thể so sánh chúng bằng cách sử dụng ==
để xem chúng có tham chiếu đến cùng một đối tượng hay không.
Object a = ...
Object b = a;
boolean areSame = (a == b); //Will be true.
4
if (obj1 == obj2) {
// both refrences are pointing to same object
}
Điều gì xảy ra nếu lớp ghi đè phương pháp bằng? – JRR
+1, câu trả lời ngắn gọn, ước gì tôi có thể upvote nhiều hơn một lần. :) – astay13
Nếu bạn muốn so sánh các đối tượng thực tế, bạn phải gọi một cách rõ ràng '.equals()'. '==' sẽ luôn so sánh chỉ các tham chiếu cho các đối tượng. – Oleksi