Bien que les documents Java spécifient que les références faibles sont principalement destinées à canoniser les mappages, vous trouverez beaucoup , beaucoup , beaucoup de gens sur Internet déclarant que le WeakHashMap est parfait pour stocker des métadonnées d'objet pendant sa durée de vie. Cependant, personne ne se soucie de faire un exemple compréhensible ET approprié .
Utiliser WeakHashMap pour ajouter un objet à certaines propriétés ou stocker des sons de métadonnées pour moi, comme une décision arbitraire basée sur la volonté d'utiliser simplement la fichue chose. En d'autres termes - une mauvaise conception . Je comprends qu'il y a des situations où l'héritage peut ne pas être disponible (classes finales, interfaces), mais qu'en est-il de la composition? Je ne peux pas penser à un exemple où la composition ne serait pas une option. Et certainement un meilleur, car il repose sur un principe bien établi, au lieu d'une "bizarrerie de la langue".
Alors, y a-t-il une situation où il serait préférable d'utiliser des références faibles au lieu d'une simple composition? Sinon, pourquoi tout le monde sur Internet semble-t-il se tromper?