HOWTO · Java

在 Java 中擴充套件 Comparable

本教程展示瞭如何在 Java 中清除 StringBuilder

本指南將瞭解在 Java 中擴充套件 Comparable 介面。它寫成 Comparable<T>。它是一個由 Java 中的許多類實現的介面。讓我們更多地瞭解它的各個方面。

在 Java 中實現擴充套件 Comparable<T> 介面

這個介面只有一個方法,compareTo(Object o)。此方法將物件與訂單的指定物件進行比較。

如果物件小於指定值,則返回負整數。如果物件和指定的物件相等,它將返回零。

同樣,如果物件大於指定物件,則返回一個正整數。

請記住,類不能在 Java 中擴充套件 Java 介面。

介面只能擴充套件介面。Java 類只能擴充套件一個 Java 類。

由於 Comparable<T> 是 Java 中的一個介面,我們必須建立一個自定義介面來擴充套件 Comparable 介面。自定義類將實現自定義介面。

public class Main {
  public static void main(String[] args) {
    Student s1 = new Student("Bill Gates");
    Student s2 = new Student("James");

    int res = s1.compareTo(s2);
    // comaprison of name of two students using iherited and extended method of
    // compareable.

    System.out.println(res);
  }
}
interface CustomComparable extends Comparable<Student> {
  // Custom interface which extends Comparable.
  // So CustomComparable have inherited method Compareto(Object o)
  public String getName();
}
class Student implements CustomComparable {
  // calss student implements CustomCompareable
  private String name; // String variable
  Student(String s) {
    this.name = s;
  }

  public int compareTo(Student other) { // overiding super method........... .
    return this.name.compareTo(other.getName());
  }

  public String getName() {
    return name;
  }

  public void setName(String name) {
    this.name = name;
  }
}

輸出:

-8

我們只是建立了兩個學生類物件來實現我們的自定義比較器類,擴充套件實際的 Comparable<T>。所以,這就是我們可以在這裡使用這個 compareTo() 方法的方式。