Tôi có một số đối tượngArrayList của phương pháp Chứa
class A {
private Long id;
private String name;
public boolean equals(Long v) {
return this.id.equals(v);
}
}
và ArrayList của các đối tượng này. Điều tôi muốn là có thể kiểm tra xem danh sách đó có chứa một số đối tượng theo trường của đối tượng hay không. Ví dụ:
ArrayList<A> list = new ArrayList<A>(); if (list.contains(0L)) {...}
nhưng ghi đè phương thức bằng không giúp tôi. Tôi đang làm gì sai? Cảm ơn bạn
CẬP NHẬT Và tôi cũng nên ghi đè phương thức hashcode()?
bạn đã ghi đè bằng() trong lớp A? nếu có, bạn có thể đăng nó ở đây không? – c05mic
Đánh giá bởi các câu trả lời dưới đây, tôi đoán không có giải pháp thuận tiện cho việc này. Tôi cảm thấy như thế này có thể được giải quyết với một lớp thực hiện ẩn danh, giống như loại bạn sử dụng khi gọi Collections.sort() với Comparator của riêng bạn. – kodu
Sau khi tìm kiếm thêm một chút, tôi đã tìm thấy một số câu trả lời hữu ích tại đây: http://stackoverflow.com/questions/587404/finding-all-objects-that-have-a-given-property-inside-a-ollection – kodu