comparação de objectos byte a byte

3 respostas
merlinX

Pessoal alguém sabe se há forma de comparar 2 objectos byte a byte para verificar se são iguais…
Tenho que fazer uma comparação byte a byte, já tenho os objectos convertidos num array de bytes.
Nesta situação deveria dar resultado falso não? São 2 referências diferentes.

Tuplo ot = new Tuplo(“Lars Tackmann”, “Age”, new X(1));

Tuplo of = new Tuplo(“Lars Tackmann”, “Age”, new X(1));

byte[] otb = new Utils().getBytes(ot);
byte[] ofb = new Utils().getBytes(of);

ByteBuffer buf1 = ByteBuffer.wrap(otb);

ByteBuffer buf2 = ByteBuffer.wrap(ofb);

System.out.println(buf1.equals(buf2));

O resultado é true, não há forma de ver byte a byte que são diferentes (referências diferentes) é que quando se faz:

if(of.equals(ot)) {

System.out.println(Sao referencias iguais);

} else {

System.out.println(Sao referencias diferentes);

}

O resultado dá false, mas eu queria detectar sutuações destas com uma comparação mais “deep” byte a byte.

Obrigado desde já.

3 Respostas

pmlm

Não percebi muito bem o que queres, será simplesmente isto:

if (ot==of){ System.out.println("São referencias iguais"); } else { System.out.println("São referencias diferentes"); }

merlinX

Não, gostava de comparar dois objectos byte a byte de modo a verificar situações dessas (detectar que 2 objectos têm referências diferentes).

kaique

Cara, se eu entendi direito, você querendo comparar os bytes de 2 objetos, caso eles tenham o mesmo conteúdo mas sejam de referências diferentes, o resultado da comparação deve ser verdade, que foi o que você questionou no seu primeiro post.
Enfim, se você já tem os bytes dos objetos a serem comparados, você pode utilizar a classe Arrays, que já realiza essa comparação para você.

[]'s.

Criado 13 de maio de 2009
Ultima resposta 14 de mai. de 2009
Respostas 3
Participantes 3