对于Java中的某些哈希函数,最好将值视为无符号整数(例如,用于与其他实现进行比较),但Java仅支持有符号类型。我们可以将签名的int转换为“未签名的”long,如下所示:publicstaticfinalintBITS_PER_BYTE=8;publicstaticlonggetUnsignedInt(intx){ByteBufferbuf=ByteBuffer.allocate(Long.SIZE/BITS_PER_BYTE);buf.putInt(Integer.SIZE/BITS_PER_BYTE,x);returnbuf.getLong(0);}getUnsignedInt