Я хочу перевірити, чи List
містить об'єкт поле з певним значенням. Тепер я міг би скористатися циклом, щоб пройти і перевірити, але мені було цікаво, чи є щось більш ефективне з кодом.
Щось на зразок;
if(list.contains(new Object().setName("John"))){
//Do some stuff
}
Я знаю, що наведений вище код нічого не робить, це просто продемонструвати приблизно те, чого я намагаюся досягти.
Крім того, лише для уточнення, причина, за якою я не хочу використовувати простий цикл, полягає в тому, що цей код в даний час буде знаходитися всередині циклу, який знаходиться всередині циклу, який знаходиться всередині циклу. Для читабельності я не хочу продовжувати додавати петлі до цих циклів. Тож я задумався, чи існують якісь прості (іш) варіанти.
equals(Object)
метод вашого власного об'єкта?
for(Person p:list) if (p.getName().equals("John") return true; return false;
Більш чіткого способу ви не знайдете на Java.
p.equals(p)
має бути правдою, тому я плутаю те, що ви намагаєтесь досягти. Сподіваємось, якщо ви задасте нове запитання, ви можете отримати кращу допомогу.