/** * Computes a hash code from attributes: {@code number}, {@code text}. * @return hashCode value */ @Override public int hashCode() { int h = 5381; h += (h << 5) + number.hashCode(); h += (h << 5) + text.hashCode(); return h; }
@Override public int hashCode() { final int prime = 31; int result = 1; result = (prime * result) + this.number.hashCode(); result = (prime * result) + this.text.hashCode(); return result; }
@Test public void testHashCode() { final JCGLVersionNumber v0 = new JCGLVersionNumber(1, 0, 0); final JCGLVersionNumber v1 = new JCGLVersionNumber(1, 0, 0); final JCGLVersionNumber v2 = new JCGLVersionNumber(1, 1, 0); final JCGLVersionNumber v3 = new JCGLVersionNumber(1, 0, 1); Assert.assertEquals((long) v0.hashCode(), (long) (v0.hashCode())); Assert.assertEquals((long) v0.hashCode(), (long) (v1.hashCode())); Assert.assertNotEquals((long) v0.hashCode(), (long) (v2.hashCode())); Assert.assertNotEquals((long) v0.hashCode(), (long) (v3.hashCode())); }