Chcę sprawdzić, czy List
zawiera obiekt, który ma pole o określonej wartości. Teraz mogłem użyć pętli, aby przejść i sprawdzić, ale byłem ciekawy, czy jest coś bardziej wydajnego w kodzie.
Coś jak;
if(list.contains(new Object().setName("John"))){
//Do some stuff
}
Wiem, że powyższy kod nic nie robi, to tylko przybliżenie tego, co próbuję osiągnąć.
Ponadto, aby wyjaśnić, powodem, dla którego nie chcę używać prostej pętli, jest to, że ten kod będzie teraz wchodził w pętlę, która znajduje się w pętli, która jest w pętli. Dla czytelności nie chcę ciągle dodawać pętli do tych pętli. Zastanawiałem się więc, czy istnieją jakieś proste (ish) alternatywy.
equals(Object)
metodę swojego obiektu niestandardowego?
for(Person p:list) if (p.getName().equals("John") return true; return false;
Obawiam się, że nie znajdziesz bardziej zwięzłego sposobu w Javie.
p.equals(p)
powinno zawsze być prawdą, więc nie rozumiem, co próbujesz osiągnąć. Mam nadzieję, że jeśli zadajesz nowe pytanie , możesz uzyskać lepszą pomoc.