== so sánh địa chỉ bộ nhớ (reference), kiểm tra xem hai biến có trỏ đến cùng một đối tượng không. .equals() so sánh nội dung/giá trị thực sự của đối tượng.
Ví dụ: String a = "hello"; String b = new String("hello"); thì a == b trả về false (khác object), nhưng a.equals(b) trả về true (cùng nội dung). Luôn dùng .equals() khi so sánh giá trị String và Object.