Class BooleanComparator

    • Constructor Detail

      • BooleanComparator

        public BooleanComparator()
        Creates a BooleanComparator that sorts false values before true values.

        Equivalent to BooleanComparator(false).

        Please use the static factory instead whenever possible.

      • BooleanComparator

        public BooleanComparator​(boolean trueFirst)
        Creates a BooleanComparator that sorts trueFirst values before !trueFirst values.

        Please use the static factories instead whenever possible.

        Parameters:
        trueFirst - when true, sort true boolean values before false
    • Method Detail

      • getTrueFirstComparator

        public static BooleanComparator getTrueFirstComparator()
        Returns a BooleanComparator instance that sorts true values before false values.

        Clients are encouraged to use the value returned from this method instead of constructing a new instance to reduce allocation and garbage collection overhead when multiple BooleanComparators may be used in the same virtual machine.

        Returns:
        the true first singleton BooleanComparator
      • getFalseFirstComparator

        public static BooleanComparator getFalseFirstComparator()
        Returns a BooleanComparator instance that sorts false values before true values.

        Clients are encouraged to use the value returned from this method instead of constructing a new instance to reduce allocation and garbage collection overhead when multiple BooleanComparators may be used in the same virtual machine.

        Returns:
        the false first singleton BooleanComparator
      • getBooleanComparator

        public static BooleanComparator getBooleanComparator​(boolean trueFirst)
        Returns a BooleanComparator instance that sorts trueFirst values before !trueFirst values.

        Clients are encouraged to use the value returned from this method instead of constructing a new instance to reduce allocation and garbage collection overhead when multiple BooleanComparators may be used in the same virtual machine.

        Parameters:
        trueFirst - when true, sort true Booleans before false
        Returns:
        a singleton BooleanComparator instance
      • compare

        public int compare​(Object obj1,
                           Object obj2)
        Compares two arbitrary Objects. When both arguments are Boolean, this method is equivalent to compare((Boolean)obj1,(Boolean)obj2). When either argument is not a Boolean, this methods throws a ClassCastException.
        Specified by:
        compare in interface Comparator
        Parameters:
        obj1 - the first object to compare
        obj2 - the second object to compare
        Returns:
        negative if obj1 is less, positive if greater, zero if equal
        Throws:
        ClassCastException - when either argument is not Boolean
      • compare

        public int compare​(Boolean b1,
                           Boolean b2)
        Compares two non-null Boolean objects according to the value of sortsTrueFirst().
        Parameters:
        b1 - the first boolean to compare
        b2 - the second boolean to compare
        Returns:
        negative if obj1 is less, positive if greater, zero if equal
        Throws:
        NullPointerException - when either argument null
      • hashCode

        public int hashCode()
        Implement a hash code for this comparator that is consistent with equals.
        Overrides:
        hashCode in class Object
        Returns:
        a hash code for this comparator.
      • equals

        public boolean equals​(Object object)
        Returns true iff that Object is is a Comparator whose ordering is known to be equivalent to mine.

        This implementation returns true iff that is a BooleanComparator whose value of sortsTrueFirst() is equal to mine.

        Specified by:
        equals in interface Comparator
        Overrides:
        equals in class Object
        Parameters:
        object - the object to compare to
        Returns:
        true if equal
      • sortsTrueFirst

        public boolean sortsTrueFirst()
        Returns true iff I sort true values before false values. In other words, returns true iff compare(Boolean.FALSE,Boolean.TRUE) returns a positive value.
        Returns:
        the trueFirst flag