Java Setara dengan C Pair
Soalan:
Walaupun Java mempunyai Map.Entry dalam 1.6, ia tidak mempunyai setara langsung C 's Pair
Jawapan:
Sebab Ketidakhadiran:
Hunter Gratzner, dalam urutan comp.lang.java.help, mengemukakan hujah menentang memperkenalkan binaan Pasangan di Jawa. Kebimbangan utama ialah kelas Pair tidak mempunyai semantik yang jelas tentang hubungan antara dua nilainya. Tanpa penamaan khusus, tidak jelas apa yang diwakili oleh nilai "pertama" dan "kedua", menjadikan pemahaman tentang maksud kod lebih mencabar.
Alternatif yang Sesuai:
Yang disyorkan pendekatan adalah untuk mencipta kelas yang mudah dan khusus untuk setiap kes penggunaan yang dimaksudkan. Sebagai contoh, bukannya Pair(x,y), kelas yang lebih deskriptif seperti Position(x,y) menyampaikan perhubungan antara dua nilai dengan lebih jelas. Begitu juga, untuk Julat(mula,akhir) dan Kemasukan(kunci,nilai).
Map.Entry sebagai Setara Terhad:
Manakala Map.Entry menyediakan pasangan -seperti fungsi, ia khusus untuk pemetaan nilai kunci, mengehadkan tujuan amnya kebolehgunaan.
Kesimpulan:
Daripada menggunakan kelas Pair generik, Java menggalakkan penciptaan kelas khusus dan bermakna yang menyampaikan penggunaan yang dimaksudkan secara eksplisit. Pendekatan ini meningkatkan kebolehbacaan dan pemahaman kod, sambil mengelakkan kekaburan semantik yang dikaitkan dengan jenis Pasangan generik.
Atas ialah kandungan terperinci Apakah Setara Java bagi `Pair` C dan Mengapa Tiada Analog Langsung?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!