Pourquoi HashMap étend-il abstractmap et implémenter la carte? L'extension abstractmap n'est pas suffisante, car l'abstractmap implémente la carte? P>
3 Réponses :
Il est redondant. Je soupçonne que c'était fait pour des raisons de "documentation". HashMap implémente la carte et vous pouvez compter sur cela. Le fait qu'il étend abstractmap n'est sans doute qu'un détail de mise en œuvre. (Bien qu'il soit extrêmement improbable que les versions futures de HASHMAP ne prolongent pas abstractmap, car il y a probablement certains em> le code qui s'attend à ce que HASHMAP soit assignable à abstractmap.) P>
Il est redondant, mais ne fait pas mal. S'ils ne veulent pas mettre en œuvre mapper code> dans
abstractmap code> à l'avenir, cela fonctionnera toujours. P>
Sauf que c'est un changement de rupture - quelque part quelqu'un aura effectué map map = ObjectOftypeAstractMap code>.
Une dernière chose est que l'abstractmap est un détail de mise en œuvre. Il pourrait être absent dans une future version de JDK d'Oracle .. Cela pourrait être absent dans une version actuelle de l'IBM's JDK .. Mais que ce soit présent ou non, le hashmap devrait toujours être conforme au contrat de liste .. donc, il est explicitement explicitement Capturé en déclaration de classe en spécifiant 'HASHMAP implémente la carte' p>
essentiellement la même question que ceci: Stackoverflow.com/Questtions/2165204/... - Version courte: Cette redondance a une incidence sur la façon dont Javadoc est généré.
J'étais stimulé d'enquêter et, en fait, Javadoc n'était pas la question. Nouvelle version courte: c'était juste une erreur.
Il h. J'ai demandé à ce sujet aujourd'hui aussi. On m'a dit que c'était une "erreur bien intentionnée" et que le raisonnement initial était l'interface par rapport à la mise en œuvre que j'ai mentionnée dans ma réponse.