Pourquoi ne puis-je pas créer une table de hachage avec "long" types en Java?
Aucune raison pour que le suivant n'est pas autorisé?
HashMap<long, long> x = new HashMap<>();
OriginalL'auteur Kumar Vaibhav | 2014-11-30
Vous devez vous connecter pour publier un commentaire.
vous êtes à l'aide de primitives de réécriture à
HashMap<Long,Long> x = new HashMap<>()
Oui, c'est une des différences entre C# et Java. En Java, vous ne pouvez pas utiliser les types primitifs de type générique arguments.
OriginalL'auteur Master Slave
En Java, les types avec des paramètres de type générique, tels que la table de hachage, acceptons uniquement les types qui hérite de l'Objet. long n'hérite pas de l'Objet, de sorte que vous ne pouvez pas l'utiliser avec table de hachage. Toutefois, vous pouvez utiliser de Long, qui est une version boîte de long.
OriginalL'auteur KeyboardDrummer
En utilisant la norme de collections pour les types primitifs comme la longue n'est pas vraiment efficace
Si vous devez réduire l'encombrement mémoire et d'obtenir de meilleures performances, vous devriez envisager de la 3e partie de la collection des bibliothèques comme Trove
OriginalL'auteur bedrin