/**
* Collected methods which allow easy implementation of equals
. Example use case in a class called Car:
*
- publicboolean equals(Object that)
- {
- if(this== that)
- returntrue;
- if(!(that instanceof Car))
- returnfalse;
- Car thatCar =(Car) that;
- returnComparator.areEqual(this.fName, that.fName)&&Comparator.areEqual(this.fNumDoors, that.fNumDoors)
- &&Comparator.areEqual(this.fGasMileage, that.fGasMileage)&&Comparator.areEqual(this.fColor, that.fColor)
- &&Arrays.equals(this.fMaintenanceChecks, that.fMaintenanceChecks);//array!
- }
*
* Arrays are not handled by this class. This is because the Arrays.equals
methods should be
* used for array fields.
*/
<!--break-->
- packagecom.livrona.comono.comparator;
- publicfinalclass EqualityComparator
- {
- publicstaticboolean areEqual(boolean aThis, boolean aThat)
- {
- return aThis == aThat;
- }
- publicstaticboolean areEqual(char aThis, char aThat)
- {
- return aThis == aThat;
- }
- publicstaticboolean areEqual(double aThis, double aThat)
- {
- returnDouble.doubleToLongBits(aThis)== Double.doubleToLongBits(aThat);
- }
- publicstaticboolean areEqual(float aThis, float aThat)
- {
- returnFloat.floatToIntBits(aThis)== Float.floatToIntBits(aThat);
- }
- publicstaticboolean areEqual(long aThis, long aThat)
- {
- return aThis == aThat;
- }
- publicstaticboolean areEqual(Object aThis, Object aThat)
- {
- return aThis ==null? aThat ==null: aThis.equals(aThat);
- }
- }