@Test public void compare_bothNull() { assertThat(new TestComparator().compare(null, null)).isEqualTo(0); }
@Override public int compare(final T o1, final T o2) { int result = 0; if (o1 == null) { if (o2 != null) { result = -1; } } else if (o2 == null) { result = 1; } else { result = compareType(o1, o2); } return result; }
CompareNullSafe implements Comparator<T>, Serializable { @Override public int compare(final T o1, final T o2) { int result = 0; if (o1 == null) { if (o2 != null) { result = -1; } } else if (o2 == null) { result = 1; } else { result = compareType(o1, o2); } return result; } }
CompareNullSafe implements Comparator<T>, Serializable { @Override public int compare(final T o1, final T o2) { int result = 0; if (o1 == null) { if (o2 != null) { result = -1; } } else if (o2 == null) { result = 1; } else { result = compareType(o1, o2); } return result; }  }
CompareNullSafe implements Comparator<T>, Serializable { @Override public int compare(final T o1, final T o2) { int result = 0; if (o1 == null) { if (o2 != null) { result = -1; } } else if (o2 == null) { result = 1; } else { result = compareType(o1, o2); } return result; }  static int compareInt(final int a, final int b); @Override int compare(final T o1, final T o2); abstract int compareType(final T o1, final T o2); }
CompareNullSafe implements Comparator<T>, Serializable { @Override public int compare(final T o1, final T o2) { int result = 0; if (o1 == null) { if (o2 != null) { result = -1; } } else if (o2 == null) { result = 1; } else { result = compareType(o1, o2); } return result; }  static int compareInt(final int a, final int b); @Override int compare(final T o1, final T o2); abstract int compareType(final T o1, final T o2);  }