Saya bisa mengatakan beberapa hal baik tentang obat generik, tetapi bukan itu pertanyaannya. Saya dapat mengeluh bahwa mereka tidak tersedia pada saat run time dan tidak bekerja dengan array, tetapi itu telah disebutkan.
Gangguan psikologis besar: Saya kadang-kadang masuk ke situasi di mana obat generik tidak dapat dibuat untuk bekerja. (Array menjadi contoh paling sederhana.) Dan saya tidak tahu apakah obat generik tidak dapat melakukan pekerjaan atau apakah saya hanya bodoh. Aku benci itu. Sesuatu seperti obat generik harus selalu bekerja. Setiap kali saya tidak bisa melakukan apa yang saya inginkan menggunakan bahasa Jawa, saya tahu masalahnya adalah saya, dan saya tahu jika saya terus mendorong, saya akan sampai di sana akhirnya. Dengan obat generik, jika saya menjadi terlalu gigih, saya bisa membuang banyak waktu.
Tetapi masalah sebenarnya adalah bahwa obat generik menambah kompleksitas terlalu banyak untuk keuntungan terlalu sedikit. Dalam kasus paling sederhana, saya bisa menghentikan menambahkan apel ke daftar yang berisi mobil. Baik. Tetapi tanpa obat generik kesalahan ini akan membuat ClassCastException benar-benar cepat pada saat dijalankan dengan sedikit waktu yang terbuang. Jika saya menambahkan mobil dengan kursi anak dengan anak di dalamnya, apakah saya perlu peringatan waktu kompilasi bahwa daftar ini hanya untuk mobil dengan kursi anak yang berisi simpanse bayi? Daftar instance Objek sederhana mulai terlihat seperti ide yang bagus.
Kode generik dapat memiliki banyak kata dan karakter dan membutuhkan banyak ruang ekstra dan membutuhkan lebih banyak waktu untuk membaca. Saya dapat menghabiskan banyak waktu untuk mendapatkan semua kode tambahan agar berfungsi dengan benar. Ketika itu terjadi, saya merasa sangat pintar. Saya juga telah menyia-nyiakan waktu saya sendiri beberapa jam atau lebih dan saya harus bertanya-tanya apakah ada orang lain yang bisa mengetahui kode tersebut. Saya ingin dapat menyerahkannya untuk pemeliharaan kepada orang yang kurang pandai daripada saya sendiri atau yang memiliki lebih sedikit waktu untuk dihabiskan.
Di sisi lain (saya mendapat sedikit luka di sana dan merasa perlu memberikan keseimbangan), itu bagus ketika menggunakan koleksi dan peta sederhana untuk menambah, menempatkan, dan diperiksa ketika ditulis, dan biasanya tidak menambah banyak kompleksitas ke kode ( jika orang lain menulis koleksi atau peta) . Dan Java lebih baik dalam hal ini daripada C #. Tampaknya tidak ada koleksi C # yang ingin saya gunakan yang pernah menangani obat generik. (Aku akui aku punya selera aneh dalam koleksi.)