Quero verificar se a List
contém um objeto que possui um campo com um determinado valor. Agora, eu poderia usar um loop para passar e verificar, mas fiquei curioso se havia algo mais eficiente em termos de código.
Algo como;
if(list.contains(new Object().setName("John"))){
//Do some stuff
}
Eu sei que o código acima não faz nada, é apenas para demonstrar aproximadamente o que estou tentando alcançar.
Além disso, apenas para esclarecer, a razão pela qual não quero usar um loop simples é porque esse código atualmente está dentro de um loop que está dentro de um loop que está dentro de um loop. Para facilitar a leitura, não quero continuar adicionando loops a esses loops. Então, eu me perguntava se havia alguma alternativa simples (ish).
equals(Object)
método do seu objeto personalizado?
for(Person p:list) if (p.getName().equals("John") return true; return false;
Receio que você não encontre uma maneira mais concisa em Java.
p.equals(p)
deve ser verdade, então estou confuso com o que você está tentando alcançar. Esperançosamente, se você fizer uma nova pergunta, poderá obter melhor ajuda.