Rumah > Java > javaTutorial > Bagaimanakah saya boleh menggunakan antara muka Sebanding Java untuk membandingkan objek dalam kelas abstrak saya?

Bagaimanakah saya boleh menggunakan antara muka Sebanding Java untuk membandingkan objek dalam kelas abstrak saya?

DDD
Lepaskan: 2024-11-11 18:58:03
asal
369 orang telah melayarinya

How can I use Java's Comparable interface to compare objects in my abstract class?

Melaksanakan Antara Muka Setanding Java

Kelas abstrak menyediakan pelan tindakan untuk mencipta subkelas, membenarkan ciri dan tingkah laku yang dikongsi. Satu alat yang berkuasa untuk menyusun dan menapis data dalam Java ialah antara muka Sebanding, yang membolehkan objek membandingkan diri mereka antara satu sama lain.

Untuk melaksanakan antara muka ini, kelas abstrak anda harus melanjutkan Comparable, dengan T mewakili jenis objek yang dibandingkan. Sebagai contoh, jika anda mempunyai kelas Haiwan, anda akan menulis:

public abstract class Animal implements Comparable<Animal>
Salin selepas log masuk

Seterusnya, anda perlu melaksanakan kaedah compareTo(T other). Kaedah ini mengambil objek lain daripada jenis yang sama dan membandingkannya dengan objek semasa. Nilai pulangan menunjukkan susunan:

  • Nilai negatif: Objek semasa dianggap "kurang daripada" objek lain.
  • Sifar: Objek dianggap sama.
  • Nilai positif: Objek semasa dianggap "lebih besar daripada" objek lain.

Dalam kelas Haiwan anda, anda boleh membandingkan haiwan mengikut tahun penemuan mereka:

@Override
public int compareTo(Animal other) {
    return Integer.compare(this.yearDiscovered, other.yearDiscovered);
}
Salin selepas log masuk

Dengan pelaksanaan ini, haiwan yang lebih tua akan dipesan lebih tinggi dalam senarai atau koleksi yang diisih. Ini membolehkan anda mendapatkan semula haiwan tertua atau termuda dengan mudah berdasarkan tahun penemuannya.

Atas ialah kandungan terperinci Bagaimanakah saya boleh menggunakan antara muka Sebanding Java untuk membandingkan objek dalam kelas abstrak saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan