### Question:
ObjectId implements Comparable<ObjectId>, Serializable { public int compareTo(final ObjectId o) { byte[] left = this.hashCode; byte[] right = o.hashCode; return compare(left, right); } ObjectId();  ObjectId(byte[] raw); private  ObjectId(byte[] raw, boolean cloneArg); static ObjectId createNoClone(byte[] rawHash); boolean isNull(); @Override boolean equals(Object o); @Override int hashCode(); @Override String toString(); static ObjectId valueOf(final String hash); static byte[] toRaw(final String hash); int compareTo(final ObjectId o); static int compare(byte[] left, byte[] right); byte[] getRawValue(); void getRawValue(byte[] target); void getRawValue(byte[] target, int size); static ObjectId forString(final String strToHash); int byteN(int index); static final Ordering<ObjectId> NATURAL_ORDER; static final ObjectId NULL; static final HashFunction HASH_FUNCTION; static final int NUM_BYTES; }### Answer:
@Test public void testCompareTo() { ObjectId oid = new ObjectId(new byte[] { (byte) 0xab, 01, 02, 03, (byte) 0xff, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }); ObjectId oid2 = new ObjectId(new byte[] { (byte) 0xba, 01, 02, 03, (byte) 0xff, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }); assertTrue(oid.compareTo(oid2) < 0); assertTrue(oid2.compareTo(oid) > 0); assertEquals(oid.compareTo(oid), 0); }