Javolution 6.0.0 java
StandardComparatorImpl.java
Go to the documentation of this file.
1 /*
2  * Javolution - Java(TM) Solution for Real-Time and Embedded Systems
3  * Copyright (C) 2012 - Javolution (http://javolution.org/)
4  * All rights reserved.
5  *
6  * Permission to use, copy, modify, and distribute this software is
7  * freely granted, provided that this notice is preserved.
8  */
9 package javolution.util.internal.comparator;
10 
11 import java.io.Serializable;
12 
14 
18 public class StandardComparatorImpl<E> implements Equality<E>,
19  Serializable {
20 
21  private static final long serialVersionUID = -615690677813206151L;
22 
23  @Override
24  public int hashCodeOf(E e) {
25  return (e == null) ? 0 : e.hashCode();
26  }
27 
28  @Override
29  public boolean areEqual(E e1, E e2) {
30  return (e1 == e2) || (e1 != null && e1.equals(e2));
31  }
32 
33  @SuppressWarnings("unchecked")
34  @Override
35  public int compare(E left, E right) {
36  if (left == right)
37  return 0;
38  if (left == null)
39  return -1;
40  if (right == null)
41  return 1;
42  if (left instanceof Comparable)
43  return ((Comparable<E>) left).compareTo(right);
44 
45  // Empirical method (consistent with equals).
46  if (left.equals(right))
47  return 0;
48  return left.hashCode() < right.hashCode() ? -1 : 1;
49  }
50 
51 }
javolution
javolution.util.internal.comparator.StandardComparatorImpl
Definition: StandardComparatorImpl.java:19
javolution.util.internal.comparator.StandardComparatorImpl.areEqual
boolean areEqual(E e1, E e2)
Definition: StandardComparatorImpl.java:29
Comparable
javolution.util.function.Equality
Definition: Equality.java:39
javolution.util.internal.comparator.StandardComparatorImpl.hashCodeOf
int hashCodeOf(E e)
Definition: StandardComparatorImpl.java:24
javolution.util.internal.comparator.StandardComparatorImpl.compare
int compare(E left, E right)
Definition: StandardComparatorImpl.java:35
javolution.util.function
Definition: Consumer.java:9
javolution.util.internal.comparator.StandardComparatorImpl.serialVersionUID
static final long serialVersionUID
Definition: StandardComparatorImpl.java:21
javolution.util
Definition: FastBitSet.java:9