Meskipun dokumen Java menentukan, bahwa referensi Lemah terutama untuk pemetaan kanonik, Anda akan menemukan banyak , banyak , banyak orang di internet yang menyatakan, bahwa WeakHashMap sangat cocok untuk menyimpan metadata objek selama masa pakainya. Namun, tidak ada yang mengganggu untuk membuat contoh yang komprehensif DAN tepat .
Menggunakan WeakHashMap untuk menambahkan objek beberapa properti atau menyimpan suara metadata kepada saya, seperti keputusan sewenang-wenang berdasarkan kehendak untuk hanya menggunakan benda sialan itu. Dengan kata lain - desain yang buruk . Saya mengerti, bahwa ada situasi di mana warisan mungkin tidak tersedia (kelas akhir, antarmuka), tetapi bagaimana dengan komposisi? Saya tidak dapat memikirkan satu contoh di mana komposisi tidak akan menjadi pilihan. Dan tentu saja yang lebih baik, karena bergantung pada prinsip yang mapan, bukan "kekhasan bahasa".
Jadi, apakah ada situasi, di mana akan lebih baik menggunakan referensi yang lemah daripada komposisi sederhana? Jika tidak, mengapa semua orang di internet keliru?