Resultado

2 respostas
F
HashSet hash=new HashSet();
       
        StringBuffer x=new StringBuffer("A");
        StringBuffer x2=new StringBuffer("A");
        hash.add(x);
        hash.add(x2);
        
        System.out.print(hash.size());

Ai turma resultado?

2 Respostas

victorwss

Se não me engano StringBuffer não sobrescreve o método equals, então escreveria 2.

Fabio_Kym_Nascimento

Exato, StringBuffer não sobrescreve o equals logo os dois objetos são considerados diferentes e são adicionados. Segundo o javadoc, segue a assinatura do método add do HashSet:

Pra saber se o objeto está presente ou não ele usa o equals, se fossem Strings por exemplo, os dois objetos seriam considerados iguais e o size seria 1.

Lembrando que HashSet é uma implementação de Set e não aceita objetos repetidos!

Criado 12 de novembro de 2008
Ultima resposta 15 de nov. de 2008
Respostas 2
Participantes 3