Java T implements comparable

www‮ual.‬tturi.com
Java T implements comparable

In Java, you can use the Comparable interface to specify that a class should be able to be compared to objects of its own type. The Comparable interface has a single compareTo method that takes an object of the same type as the implementing class and returns an int value indicating whether the object is less than, equal to, or greater than the argument.

Here's an example of how to implement the Comparable interface in a generic class T:

public class T<T> implements Comparable<T> {
    private T value;

    public T(T value) {
        this.value = value;
    }

    @Override
    public int compareTo(T other) {
        if (value == other) return 0;
        if (value == null) return -1;
        if (other == null) return 1;
        return value.compareTo(other);
    }
}

In this example, the T class is a generic class that implements the Comparable interface. The compareTo method compares the value field of the T object with the argument passed to the method and returns a negative, zero, or positive value depending on whether the object is less than, equal to, or greater than the argument.

You can use the compareTo method to compare objects of the T class using the <, ==, and > operators:

T<Integer> a = new T<>(1);
T<Integer> b = new T<>(2);

if (a.compareTo(b) < 0) {
    System.out.println("a is less than b");
} else if (a.compareTo(b) == 0) {
    System.out.println("a is equal to b");
} else if (a.compareTo(b) > 0) {
    System.out.println("a is greater than b");
}

You can find more information about the Comparable interface and how to use it in Java in the Java documentation.

Created Time:2017-10-17 20:18:52  Author:lautturi