Tôi muốn kiểm tra xem List
đối tượng có chứa một trường có một giá trị nhất định hay không. Bây giờ, tôi có thể sử dụng một vòng lặp để đi qua và kiểm tra, nhưng tôi tò mò liệu có bất kỳ mã nào hiệu quả hơn không.
Cái gì đó như;
if(list.contains(new Object().setName("John"))){
//Do some stuff
}
Tôi biết đoạn mã trên không làm gì cả, nó chỉ để chứng minh đại khái những gì tôi đang cố gắng đạt được.
Ngoài ra, để làm rõ, lý do tôi không muốn sử dụng một vòng lặp đơn giản là vì mã này hiện sẽ đi vào một vòng lặp nằm trong một vòng lặp nằm trong một vòng lặp. Để dễ đọc, tôi không muốn tiếp tục thêm các vòng lặp vào các vòng lặp này. Vì vậy, tôi tự hỏi nếu có bất kỳ thay thế (ish) đơn giản.
equals(Object)
phương thức của đối tượng tùy chỉnh của bạn?
for(Person p:list) if (p.getName().equals("John") return true; return false;
Bạn sẽ không tìm thấy một cách ngắn gọn hơn trong Java Tôi sợ.
p.equals(p)
phải luôn luôn đúng, vì vậy tôi bối rối những gì bạn đang cố gắng đạt được. Hy vọng nếu bạn hỏi một câu hỏi mới, bạn có thể nhận được sự giúp đỡ tốt hơn.