Tengo un constructor de la clase así:¿Por qué ByteBuffers hashCodes es el mismo?
public JavoImageCorrectedDataHeader()
{
ByteBuffer buffer = ByteBuffer.allocate(this.size());
buffer.order(java.nio.ByteOrder.LITTLE_ENDIAN);
setByteBuffer(buffer, 0);
System.out.println("buffer.hasCode=" + buffer.hashCode());
}
En mis otras clases, crear muchas instancias de la clase anterior en diferentes lugares y tiempo mediante el uso
new JavoImageCorrectedDataHeader()
Entonces, esperaba que se imprimirá diferentes hashCode para ellos. pero en realidad veo el mismo hashCode se imprima:
buffer.hasCode=1742602241
buffer.hasCode=1742602241
buffer.hasCode=1742602241
buffer.hasCode=1742602241
buffer.hasCode=1742602241
buffer.hasCode=1742602241
buffer.hasCode=1742602241
buffer.hasCode=1742602241
buffer.hasCode=1742602241
buffer.hasCode=1742602241
buffer.hasCode=1742602241
buffer.hasCode=1742602241
buffer.hasCode=1742602241
buffer.hasCode=1742602241
buffer.hasCode=1742602241
buffer.hasCode=1742602241
buffer.hasCode=1742602241
buffer.hasCode=1742602241
buffer.hasCode=1742602241
buffer.hasCode=1742602241
debo perder algo acerca de cómo usar la ByteBuffer.
http://docs.oracle.com/javase/1.4.2/docs/api/java/nio/ByteBuffer.html#hashCode() - 'ByteBuffer.hashCode' depende del contenido restante en el búfer. – Erik
Incluso si dos objetos tienen el mismo 'hashCode', eso no implica nada acerca de su similitud o igualdad. –
@Erik, por favor, no consulte la documentación anterior, en lugar de Java 6 o 7. Esta es la documentación real de [ByteBuffer] (http://docs.oracle.com/javase/6/docs/api/java/nio/ ByteBuffer.html) –