Voglio verificare se a List
contiene un oggetto che ha un campo con un certo valore. Ora, potevo usare un loop per scorrere e controllare, ma ero curioso di sapere se c'era qualcosa di più efficiente nel codice.
Qualcosa di simile a;
if(list.contains(new Object().setName("John"))){
//Do some stuff
}
So che il codice sopra non fa nulla, è solo per dimostrare all'incirca ciò che sto cercando di ottenere.
Inoltre, solo per chiarire, il motivo per cui non voglio usare un semplice ciclo è perché questo codice attualmente andrà all'interno di un ciclo che si trova all'interno di un ciclo che è all'interno di un ciclo. Per leggibilità non voglio continuare ad aggiungere loop a questi loop. Quindi mi chiedevo se ci fossero alternative semplici (ish).
equals(Object)
metodo dell'oggetto personalizzato?
for(Person p:list) if (p.getName().equals("John") return true; return false;
Temo che non troverai un modo più conciso in Java.
p.equals(p)
dovrebbe essere sempre vero, quindi sono confuso su ciò che stai cercando di ottenere. Spero che se fai una nuova domanda puoi ottenere un aiuto migliore.