mirror of
https://github.com/msgpack/msgpack-python.git
synced 2026-02-06 17:59:52 +00:00
java: implements MessagePackObject::hashCode()
This commit is contained in:
parent
d3bb37d113
commit
057f73a73e
10 changed files with 55 additions and 0 deletions
|
|
@ -60,6 +60,11 @@ public class ArrayType extends MessagePackObject {
|
|||
return Arrays.equals(((ArrayType)obj).array, array);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return array.hashCode();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object clone() {
|
||||
MessagePackObject[] copy = new MessagePackObject[array.length];
|
||||
|
|
|
|||
|
|
@ -103,6 +103,11 @@ class BigIntegerTypeIMPL extends IntegerType {
|
|||
return ((BigIntegerTypeIMPL)obj).value.equals(value);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return value.hashCode();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object clone() {
|
||||
return new BigIntegerTypeIMPL(value);
|
||||
|
|
|
|||
|
|
@ -50,6 +50,15 @@ public class BooleanType extends MessagePackObject {
|
|||
return ((BooleanType)obj).value == value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
if(value) {
|
||||
return 1231;
|
||||
} else {
|
||||
return 1237;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object clone() {
|
||||
return new BooleanType(value);
|
||||
|
|
|
|||
|
|
@ -82,6 +82,12 @@ class DoubleTypeIMPL extends FloatType {
|
|||
return ((DoubleTypeIMPL)obj).value == value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
long v = Double.doubleToLongBits(value);
|
||||
return (int)(v^(v>>>32));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object clone() {
|
||||
return new DoubleTypeIMPL(value);
|
||||
|
|
|
|||
|
|
@ -81,6 +81,11 @@ class FloatTypeIMPL extends FloatType {
|
|||
return ((FloatTypeIMPL)obj).value == value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Float.floatToIntBits(value);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object clone() {
|
||||
return new FloatTypeIMPL(value);
|
||||
|
|
|
|||
|
|
@ -100,6 +100,11 @@ class LongIntegerTypeIMPL extends IntegerType {
|
|||
return ((LongIntegerTypeIMPL)obj).value == value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return (int)(value^(value>>>32));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object clone() {
|
||||
return new LongIntegerTypeIMPL(value);
|
||||
|
|
|
|||
|
|
@ -63,6 +63,11 @@ public class MapType extends MessagePackObject {
|
|||
return Arrays.equals(((MapType)obj).map, map);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return map.hashCode();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object clone() {
|
||||
MessagePackObject[] copy = new MessagePackObject[map.length];
|
||||
|
|
|
|||
|
|
@ -39,6 +39,11 @@ public class NilType extends MessagePackObject {
|
|||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object clone() {
|
||||
return new NilType();
|
||||
|
|
|
|||
|
|
@ -61,6 +61,11 @@ public class RawType extends MessagePackObject {
|
|||
return ((RawType)obj).bytes.equals(bytes);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return bytes.hashCode();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object clone() {
|
||||
return new RawType((byte[])bytes.clone());
|
||||
|
|
|
|||
|
|
@ -102,6 +102,11 @@ class ShortIntegerTypeIMPL extends IntegerType {
|
|||
return ((ShortIntegerTypeIMPL)obj).value == value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object clone() {
|
||||
return new ShortIntegerTypeIMPL(value);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue