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?
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.
Buat Kelas Asas, A dan B lanjutkan
Buat Antara Muka, pelaksanaan A dan B
Buat Senarai<Objek> dan jenisnya perlu dipaksa dalam Comparator
Dapatkan kelas Wrapper, bungkus A dan B, kemudian masukkan dalam Senarai dan susunkannya