Collections: metodo contains

2 respostas
M

olá pessoal!

é o seguinte: eu tenho 2 classes: uma é essa:

public class Estrutura {
    
    private String Nome;
    private String Tel;

    public Estrutura(String Val1, String Val2) {
        Genero = Val1.toUpperCase();
        Descricao = Val2.toUpperCase();
    }

    
    public String getNome() {
        return this.Nome;
    }
    
    public String getTel() {
        return this.Tel;
    }
}

e uma outra, q vai popular um ArrayList com instancias da classe acima:

import java.util.*;
public class RNCadGeneros {
    
    public RNCadGeneros() {
    }
    
    public static void main(String args[]) {
        List Lista = new ArrayList();
        for (int i =0; i < 5; i++) {
            Lista.add(new Estrutura(String.valueOf(i), String.valueOf(i)));
        }
        Estrutura Teste = new Estrutura("2","2");
        //a linha abaixo é q me axo q estou fazendo errado: teria q dar true, mas só dá false
        System.out.println(Lista.contains(Teste));
    }
}
desculpem ae qualquer erro de sintaxe no codigo. Recuperar os dados eu consegui, mas o problema é ai msm. vlw gente![/quote]

2 Respostas

J

É o seguinte, o método contains(Object) verifica se o objeto passado como parâmetro tem uma referência dentro da List.

Nesta linha:

Estrutura Teste = new Estrutura("2","2");

Vc instância um novo objeto, que consequentemente não vai existir na List… o contains, não verifica o conteúdo e sim a referência… blz?

Se ainda tiver dúvida, monto um exemplo pra vc… :wink:

M

kra, eu entendi! vlw!!
se for possivel, me mostra um exemplo pra eu presquisar o conteudo no ArrayList, se for possivel fazer isso no ArrayList.
vlw!!!

Criado 18 de junho de 2004
Ultima resposta 18 de jun. de 2004
Respostas 2
Participantes 2