8
votes

Qu'est-ce que la carte Moyenne en Java?

Qu'est-ce que map moyenne en java?
J'ai regardé en ligne mais ne peut pas sembler trouver des articles à ce sujet.

Edit: J'ai trouvé ceci sur Durée MP3 Java


4 commentaires

Carte Comme dans la Collection ? Ou le partie, comme dans génériques ? Avez-vous regardé le Javadoc?


D'accord, je parle vraiment de génériques et de caractères génériques. La partie << / code> a été cachée dans la question; interprété comme html. J'ai édité la question.


@ C00k - Vous voudrez peut-être ré-éditer la question, le ne s'affiche pas.


Ah, je voulais dire le , Désolé je vais regarder la carte dans le Javadoc


5 Réponses :


12
votes

map signifie qu'au moment de la compilation, vous ne savez pas ce que le type de classe de la clé et de la valeur de la carte va être.

c'est un type de caractères génériques. http://download.oracle.com/javase/tatutorial/extra/generics /wwildcards.html


2 commentaires

Désolé, je ne suis pas si bon aux génériques, mais quelles sont les différences entre carte et mappe ?


CLASSNAME Est ce que vous écririez sur "Définir" une classe ou une interface. CLASSNAME Est ce que vous écrivez pour "utiliser" la classe générique de votre programme avec un type inconnu (n'importe quel).



1
votes

Depuis Java5, les génériques sont fournis avec la langue. http://download.oracle.com/javase/tatuutoriel/java/generics /index.html

La notation signifie que la carte que vous créez, acceptera un objet de classe A comme clé et objet de la classe B comme valeur.

Cela vous aide en tant que développeur afin que vous ne chantiez plus d'objet à la bonne classe. Donc, vous ne pourrez pas utiliser la carte avec des clés autres que A et Objets autres que B. Éviter les moulages laids et fournir des contraintes de temps de compilation


0 commentaires

1
votes

map vous indique que vous pouvez utiliser chaque objet pour clé et valeur dans votre carte.

mais Habituellement, il est plus utile d'utiliser des génériques comme celui-ci: xxx

donc sur cette carte, vous pouvez uniquement mettre a chaîne En tant que clé et YourCustomObject comme valeur.

Voir ceci tutoriel sur les génériques.


0 commentaires


8
votes

? indique un espace réservé dans la valeur de laquelle vous n'êtes pas intéressé (une carte générique): xxx

et depuis est un Wildcard, vous pouvez le sauter et obtenir le même résultat: xxx

mais ils peuvent être utilisés pour spécifier ou sous-ensemble les génériques à utiliser. Dans cet exemple, le premier générique doit mettre en œuvre l'interface sérialisable. xxx

mais il est toujours préférable d'utiliser des classes en béton au lieu de ces caractères génériques. Vous ne devriez utiliser que ? si vous savez ce que vous faites :)


3 commentaires

Le type brut n'est pas le même résultat qu'un caractère générique! pas du tout!


Oh vraiment? Je ne savais pas ça. Comment ces deux premiers cas diffèrent-ils les uns des autres?


La carte sauvage signifie "C'est une carte qui a un type spécifique de chose contrainte, mais je ne sais pas ce que c'est." Le type brut est juste le type brut, rien de savoir, aucune contrainte, il pourrait y avoir quelque chose de là. Le compilateur ne vous laissera pas ajouter des choses à une carte , Mais vous pouvez mettre tout ce que vous voulez dans une carte brute.