Bagaimana untuk mengisih objek dari kelas yang berbeza dalam java
学习ing
学习ing 2017-06-14 10:52:58
0
3
845

Andaikan dua kelas A dan B mempunyai tarikh atribut yang sama saya ingin mengisih dua Senarai<A> dan Senarai<B>

Kaedah yang saya tahu ialah menulis kelas asas, kemudian A dan B mewarisi kelas asas ini, dan kemudian memanggil Collections.sort() untuk mengisih.

Adakah cara yang lebih baik, atau menggunakan refleksi untuk menulis kaedah yang serupa Atau adakah perpustakaan siap pakai yang boleh digunakan?

学习ing
学习ing

membalas semua(3)
Peter_Zhu

Menggunakan kaedah yang anda sebutkan di atas adalah kaedah yang lebih baik 1. Anda boleh menggunakan API yang disediakan oleh Java sendiri untuk mengurangkan jumlah kod 2. Kaedah di atas juga agak baik dari segi gaya kod.
Idea lain ialah mengekstrak tarikh setiap kelas A dan B dan mengaitkannya dengan objek A dan B itu sendiri Contohnya, melaksanakan Indeks kelas Terdapat dua atribut dalam Indeks, tarikh dan rujukan kepada objek kelas A dan B. atau id, setiap objek kelas A dan B dikaitkan dengan objek Indeks, dan kemudian objek Indeks diisih, dan kemudian objek yang sepadan dengan A atau B ditemui melalui id, dalam susunan yang sama dengan objek indeks, iaitu , diisih.

学霸
list.sort((l1,l2) -> l1.getDate().compareTo(l2.getDate()));
typecho
  1. Buat Kelas Asas, A dan B lanjutkan

  2. Buat Antara Muka, pelaksanaan A dan B

  3. Buat Senarai<Objek> dan jenisnya perlu dipaksa dalam Comparator

  4. Dapatkan kelas Wrapper, bungkus A dan B, kemudian masukkan dalam Senarai dan susunkannya

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan