Comment instancier un Bimap
de collections Google?Pour instancier BiMap de google-collections en Java
J'ai lu la question Java: Instantiate Google Collection's HashBiMap
Un échantillon de mon code
import com.google.common.collect.BiMap;
public class UserSettings {
private Map<String, Integer> wordToWordID;
UserSettings() {
this.wordToWordID = new BiMap<String. Integer>();
Je reçois cannot instantiate the type BiMap<String, Integer>
.
Hmm. Votre réponse soulève une nouvelle question. ** Pourquoi EnumBimap n'a pas la méthode 'create' sans paramètres, comme HashBiMap? ** –
@Masi: C'est une bonne question. Je crois que la raison est parce qu'EnumBimap a besoin de savoir quels sont ses paramètres, et à cause de l'effacement de type il ne peut pas savoir à moins que vous ne lui passiez les objets 'Class' à un moment donné. La même chose est vraie pour 'EnumMap' et' EnumSet' dans la bibliothèque standard. –
Il ne suffit donc pas que 'EnumMap' ne connaisse que les types. Il fait apparemment un traitement basé sur le contenu des données d'entrée. –