Quantcast
Channel: Developer Feed - Snippet
Viewing all articles
Browse latest Browse all 178

Comparator for Primitive Types in Java

$
0
0

/**
* Collected methods which allow easy implementation of equals. Example use case in a class called Car:
*

  1. publicboolean equals(Object that)
  2.  {
  3.         if(this== that)
  4.                 returntrue;
  5.         if(!(that instanceof Car))
  6.                 returnfalse;
  7.         Car thatCar =(Car) that;
  8.         returnComparator.areEqual(this.fName, that.fName)&&Comparator.areEqual(this.fNumDoors, that.fNumDoors)
  9. &&Comparator.areEqual(this.fGasMileage, that.fGasMileage)&&Comparator.areEqual(this.fColor, that.fColor)
  10. &&Arrays.equals(this.fMaintenanceChecks, that.fMaintenanceChecks);//array!
  11.  }

*
* Arrays are not handled by this class. This is because the Arrays.equals methods should be
* used for array fields.
*/

<!--break-->

  1. packagecom.livrona.comono.comparator;
  2.  
  3. publicfinalclass EqualityComparator
  4. {
  5.         publicstaticboolean areEqual(boolean aThis, boolean aThat)
  6.         {
  7.                 return aThis == aThat;
  8.         }
  9.  
  10.         publicstaticboolean areEqual(char aThis, char aThat)
  11.         {
  12.                 return aThis == aThat;
  13.         }
  14.  
  15.         publicstaticboolean areEqual(double aThis, double aThat)
  16.         {
  17.                 returnDouble.doubleToLongBits(aThis)==  Double.doubleToLongBits(aThat);
  18.         }
  19.  
  20.         publicstaticboolean areEqual(float aThis, float aThat)
  21.         {
  22.                 returnFloat.floatToIntBits(aThis)== Float.floatToIntBits(aThat);
  23.         }
  24.  
  25.         publicstaticboolean areEqual(long aThis, long aThat)
  26.         {
  27.                 return aThis == aThat;
  28.         }
  29.  
  30.         publicstaticboolean areEqual(Object aThis, Object aThat)
  31.         {
  32.                 return aThis ==null? aThat ==null: aThis.equals(aThat);
  33.         }
  34. }

Viewing all articles
Browse latest Browse all 178

Trending Articles