Rumah  >  Soal Jawab  >  teks badan

Bagaimana untuk mengisih objek dari kelas yang berbeza dalam java

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学习ing2658 hari yang lalu798

membalas semua(3)saya akan balas

  • 天蓬老师

    天蓬老师2017-06-14 10:54:58

    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.

    balas
    0
  • 欧阳克

    欧阳克2017-06-14 10:54:58

    list.sort((l1,l2) -> l1.getDate().compareTo(l2.getDate()));

    balas
    0
  • typecho

    typecho2017-06-14 10:54:58

    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

    balas
    0
  • Batalbalas