TimeValue implements CellValue { @Override public final int hashCode() { return (int) (((this.neg ? 31 : 0) + this.totalMonths()) * 31 + this.totalSeconds()); } TimeValue(final boolean neg, final long years, final long months, final long days,
                     final long hours, final long minutes, final double seconds); static TimeValue from(final Object o); @Override boolean equals(final Object o); @Override final int hashCode(); @Override void setToCell(final TableCell tableCell); @Override String toString();  }
@Test public void testHashcode() throws FastOdsException { final TimeValue tv1 = new TimeValue(false, 0, 0, 1, 2, 3, 4); final long l = ((((1 * 24 + 2) * 60) + 3) * 60 + 4) * 1000; Assert.assertEquals(93784, tv1.hashCode()); Assert.assertEquals(93784, TimeValue.from(l).hashCode()); }