Nói rằng tôi tạo một đối tượng và thêm nó vào ArrayList
. Nếu sau đó tôi tạo một đối tượng khác với chính xác đầu vào của hàm tạo, contains()
phương thức sẽ đánh giá hai đối tượng có giống nhau không? Giả sử hàm tạo không làm bất cứ điều gì buồn cười với đầu vào và các biến được lưu trữ trong cả hai đối tượng là giống hệt nhau.
ArrayList<Thing> basket = new ArrayList<Thing>();
Thing thing = new Thing(100);
basket.add(thing);
Thing another = new Thing(100);
basket.contains(another); // true or false?
class Thing {
public int value;
public Thing (int x) {
value = x;
}
equals (Thing x) {
if (x.value == value) return true;
return false;
}
}
Đây có phải là cách class
thực hiện để có contains()
lợi nhuận true
?