Javolution 6.0.0 java
IdentityComparatorImpl.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 IdentityComparatorImpl<E> implements Equality<E>,
19  Serializable {
20 
21  private static final long serialVersionUID = 6576306094743751922L;
22 
23  @Override
24  public int hashCodeOf(E obj) {
25  return System.identityHashCode(obj);
26  }
27 
28  @Override
29  public boolean areEqual(E e1, E e2) {
30  return e1 == e2;
31  }
32 
33  @Override
34  public int compare(E left, E right) {
35  if (left == right)
36  return 0;
37  if (left == null)
38  return -1;
39  if (right == null)
40  return 1;
41 
42  // Empirical comparison.
43  return (hashCodeOf(left) < hashCodeOf(right)) ? -1 : 1;
44  }
45 }
javolution
javolution.util.internal.comparator.IdentityComparatorImpl.compare
int compare(E left, E right)
Definition: IdentityComparatorImpl.java:34
javolution.util.function.Equality
Definition: Equality.java:39
javolution.util.internal.comparator.IdentityComparatorImpl
Definition: IdentityComparatorImpl.java:19
javolution.util.internal.comparator.IdentityComparatorImpl.areEqual
boolean areEqual(E e1, E e2)
Definition: IdentityComparatorImpl.java:29
javolution.util.function
Definition: Consumer.java:9
javolution.util.internal.comparator.IdentityComparatorImpl.serialVersionUID
static final long serialVersionUID
Definition: IdentityComparatorImpl.java:21
javolution.util.internal.comparator.IdentityComparatorImpl.hashCodeOf
int hashCodeOf(E obj)
Definition: IdentityComparatorImpl.java:24
javolution.util
Definition: FastBitSet.java:9