Je veux vérifier si a List
contient un objet qui a un champ avec une certaine valeur. Maintenant, je pouvais utiliser une boucle pour parcourir et vérifier, mais j'étais curieux de savoir s'il y avait quelque chose de plus efficace.
Quelque chose comme;
if(list.contains(new Object().setName("John"))){
//Do some stuff
}
Je sais que le code ci-dessus ne fait rien, c'est juste pour montrer à peu près ce que j'essaie de réaliser.
Aussi, juste pour clarifier, la raison pour laquelle je ne veux pas utiliser une simple boucle est parce que ce code va actuellement à l'intérieur d'une boucle qui est à l'intérieur d'une boucle qui est à l'intérieur d'une boucle. Pour plus de lisibilité, je ne veux pas continuer à ajouter des boucles à ces boucles. Je me suis donc demandé s'il existait des alternatives simples (ish).
equals(Object)
méthode de votre objet personnalisé?
for(Person p:list) if (p.getName().equals("John") return true; return false;
Vous ne trouverez pas un moyen plus concis en Java, je le crains.
p.equals(p)
devrait toujours être vrai, donc je ne comprends pas ce que vous essayez de réaliser. J'espère que si vous posez une nouvelle question, vous pourrez obtenir une meilleure aide.