public boolean equals(Object o) { if (!(o instanceof Unit)) return unit.ashort == ashort && unit.achar == achar && unit.abyte == abyte && unit.abool == abool && unit.along == along && Float.floatToIntBits(unit.afloat) == Float && Double.doubleToLongBits(unit.adouble) == Double .doubleToLongBits(adouble) && unit.aObject.equals(aObject) && equalsInts(unit.ints) && equalsUnits(unit.units); private boolean equalsInts(int[] aints) { return Arrays.equals(ints, aints); private boolean equalsUnits(Unit[] aUnits) { return Arrays.equals(units, aUnits); result = 37 * result + (int) ashort; result = 37 * result + (int) achar; result = 37 * result + (int) abyte; result = 37 * result + (abool ? 0 : 1); result = 37 * result + (int) (along ^ (along >>> 32)); result = 37 * result + Float.floatToIntBits(afloat); long tolong = Double.doubleToLongBits(adouble); result = 37 * result + (int) (tolong ^ (tolong >>> 32)); result = 37 * result + aObject.hashCode(); result = 37 * result + intsHashCode(ints); result = 37 * result + unitsHashCode(units); private int intsHashCode(int[] aints) { for (int i = 0; i < aints.length; i++) result = 37 * result + aints; private int unitsHashCode(Unit[] aUnits) { for (int i = 0; i < aUnits.length; i++) result = 37 * result + aUnits.hashCode(); }
|