Galera,
Tenho um ArrayList, e em cada posição tenho um objeto Pessoa criado.
Gostaria de saber se dada uma String(Exemplo Nome=João) é possível eu fazer uma pesquisa dentro do ArrayList e verificar objeto por objeto que contenha o Nome=João
Atenciosamente
Renato
bem-vindo ao Portal Java… há uma maneira sim. Substitua o método equals() da sua classe Pessoa, por ex:
public class Pessoa {
private String nome;
//getters e setters e oq for...
public boolean equals( Object o ) {
if ( o instanceof Pessoa && ( (Pessoa) o ).getNome().equals( this.getNome() ) )
return true;
return false;
}
}
…o if não é complicado, primeiro ele testa se “o” é uma referencia a Pessoa, depois testa se o nome deste “o” é o mesmo do seu objeto em questão (this) … ATENÇÃO, use o operador && para este if, nunca o &… do contrario, se o instanceof for falso, ele ainda vai executar o código a direita da expressão, e vai dar um cast exception…
ps: e ja q esta trabalhando com collections, aproveita e implementa o método hashcode tb hehehehe