Ich möchte überprüfen, ob a List
ein Objekt enthält, das ein Feld mit einem bestimmten Wert hat. Jetzt könnte ich eine Schleife verwenden, um zu überprüfen, aber ich war neugierig, ob es etwas Code-effizienteres gibt.
Etwas wie;
if(list.contains(new Object().setName("John"))){
//Do some stuff
}
Ich weiß, dass der obige Code nichts bewirkt, sondern nur grob demonstriert, was ich erreichen möchte.
Zur Verdeutlichung möchte ich keine einfache Schleife verwenden, da dieser Code derzeit in eine Schleife innerhalb einer Schleife innerhalb einer Schleife eingefügt wird. Aus Gründen der Lesbarkeit möchte ich diesen Schleifen nicht ständig Schleifen hinzufügen. Also fragte ich mich, ob es einfache (ish) Alternativen gab.
equals(Object)
Methode Ihres benutzerdefinierten Objekts überschreiben ?
for(Person p:list) if (p.getName().equals("John") return true; return false;
Ich fürchte, Sie werden in Java keinen prägnanteren Weg finden.
p.equals(p)
sollte immer wahr sein, also bin ich verwirrt, was Sie erreichen wollen. Wenn Sie eine neue Frage stellen , können Sie hoffentlich bessere Hilfe erhalten.