在 Java 中擴充套件 Comparable

Haider Ali 2023年10月12日
在 Java 中擴充套件 Comparable

本指南將瞭解在 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() 方法的方式。

作者: Haider Ali
Haider Ali avatar Haider Ali avatar

Haider specializes in technical writing. He has a solid background in computer science that allows him to create engaging, original, and compelling technical tutorials. In his free time, he enjoys adding new skills to his repertoire and watching Netflix.

LinkedIn

相關文章 - Java Interface