| class Test { |
| int i; |
| Test a; |
| Test b; |
| double c; |
| |
| public boolean equals(Object o) { |
| if (this == o) return true; |
| if (o == null || getClass() != o.getClass()) return false; |
| |
| final Test test = (Test) o; |
| |
| if (Double.compare(test.c, c) != 0) return false; |
| if (i != test.i) return false; |
| if (!a.equals(test.a)) return false; |
| if (b != null ? !b.equals(test.b) : test.b != null) return false; |
| |
| return true; |
| } |
| |
| public int hashCode() { |
| int result; |
| long temp; |
| result = i; |
| result = 31 * result + a.hashCode(); |
| result = 31 * result + (b != null ? b.hashCode() : 0); |
| temp = Double.doubleToLongBits(c); |
| result = 31 * result + (int) (temp ^ (temp >>> 32)); |
| return result; |
| } |
| } |