почему хэш-коды ByteBuffers одинаковы?

У меня есть такой конструктор класса:

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());
    }

В других моих классах я создаю много экземпляров вышеуказанного класса в разных местах и ​​в разное время, используя

new JavoImageCorrectedDataHeader()

Затем я ожидал, что он будет печатать другой хэш-код для их. но на самом деле я вижу тот же hashCodeраспечатанный:

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

Я должен что-то упустить в том, как использовать ByteBuffer.

6
задан Alex Lockwood 18 June 2012 в 20:06
поделиться