Package java.lang

Interface Comparable<T>

  • All Known Implementing Classes:
    Boolean, Byte, Character, Double, ElementType, Enum, Float, Integer, IntPacket.Type, Long, RetentionPolicy, RN131.State, RN131.State, Short, State, String

    public interface Comparable<T>
    This interface should be implemented by all classes that wish to define a natural order of their instances. Collections.sort(java.util.List<T>) and java.util.Arrays#sort can then be used to automatically sort lists of classes that implement this interface.

    The order rule must be both transitive (if x.compareTo(y) < 0 and y.compareTo(z) < 0, then x.compareTo(z) < 0 must hold) and invertible (the sign of the result of x.compareTo(y) must be equal to the negation of the sign of the result of y.compareTo(x) for all combinations of x and y).

    In addition, it is recommended (but not required) that if and only if the result of x.compareTo(y) is zero, then the result of x.equals(y) should be true.

    • Method Detail

      • compareTo

        int compareTo​(T another)
        Compares this object to the specified object to determine their relative order.
        Parameters:
        another - the object to compare to this instance.
        Returns:
        a negative integer if this instance is less than another; a positive integer if this instance is greater than another; 0 if this instance has the same order as another.
        Throws:
        ClassCastException - if another cannot be converted into something comparable to this instance.