7
votes

Définir sans type de données mentionné

est-ce bien d'écrire le suivant?

SET INTEGS = NOUVEAU HASHSET <> ();

à l'intérieur <>, est-ce bien de le laisser comme vide?


3 commentaires

Oui, Opérateur de diamant <> déduire sous forme de type générique du type de référence. Maintenant, où est-ce duplicata ...


Voir aussi Stackoverflow.com/Questions/4166966/...


Cela a déjà été répondu ici: Stackoverflow.com / Questions / 8660202 / ...


4 Réponses :


3
votes

A partir de Java 7, le compilateur déduira le type de données de l'ensemble de hachage sans la nécessité de l'écrire deux fois.

Notez s'il existe des scénarios où le compilateur peut ne pas déduire le type, de sorte que vous puissiez obtenir des erreurs de compilation pour des scénarios plus complexes.

plus de ce Ici .


0 commentaires

3
votes

Oui, il s'agit d'une fonctionnalité introduite dans Java 7 où le <> s'appelle l'opérateur de diamant. Voir http: // docs.oracle.com/javase/7/docs/technotes/guides/language/type-inference-Generic-Instance-creation.html .


0 commentaires

2
votes

Oui si vous utilisez Java 7 ou plus, comme décrit dans documentation

Vous pouvez remplacer les arguments de type requis pour appeler le constructeur d'une classe générique avec un ensemble de paramètres de type vide (<>) tant que le compilateur peut déduire les arguments de type du contexte. Cette paire de supports d'angle est appelée de manière informelle le diamant .


0 commentaires

0
votes

Oui. Dans votre cas, ça va le prendre en tant qu'intéger dans les versions Java 7 et ultérieures. Veuillez trouver la confirmation de la documentation Java. http: // docs .oracle.com / Javase / 7 / Documents / Techniques / Guides / Langue / Type-Inference-Générique-Instance-Instance-Creation.HTML


0 commentaires