import java.util.Comparator; import static java.text.MessageFormat.format; /** * Created by IntelliJ IDEA. * User: niazis * Date: Jan 29, 2007 * Time: 3:31:17 PM */ public class Test { public static void main(String[] args) { Object o = new Object(); testComparatorx(new NullnessComparator(),o); testComparatorx(new NullnessComparatorSplit(),o); testComparatorx(new NullnessComparatorCorrectSplit(), o); testComparatorx(new NullnessComparatorAlt(),o); testComparatorx(new NullnessComparatorAltSplit(),o); } private static void testComparatorx(Comparator comparator, X o) { System.out.println(format("{0}\t{1}\t{2}\t{3}\t[{4}]", comparator.compare(null, o), comparator.compare(null, null), comparator.compare(o, o), comparator.compare(o, null), comparator.getClass().getSimpleName() ) ); } private static class NullnessComparator implements Comparator { public int compare(Object x, Object y) { if (x == null && y != null) return -1; else if (x != null && y == null) return 1; return 0; } } private static class NullnessComparatorSplit implements Comparator { public int compare(Object x, Object y) { if (x == null) if (y != null) return -1; else if (x != null && y == null) return 1; else if (x != null && y == null) return 1; return 0; } } private static class NullnessComparatorCorrectSplit implements Comparator { public int compare(Object x, Object y) { if (x == null) { if (y != null) return -1; else if (x != null && y == null) return 1; } else if (x != null && y == null) return 1; return 0; } } private static class NullnessComparatorAlt implements Comparator { public int compare(Object x, Object y) { if (x == null && y != null) return -1; else if (x != null && y == null) return 1; else return 0; } } private static class NullnessComparatorAltSplit implements Comparator { public int compare(Object x, Object y) { if (x == null) if (y != null) return -1; else if (x != null && y == null) return 1; else return 0; else if (x != null && y == null) return 1; else return 0; } } }