Bonsoir,
Je rencontre actuellement un problème avec un HashTable ou HashMap qui fais la correspondance entre une adresse mac et le port auquel il est connecté.
Celà toujours dans le cadre d'une simulation d'un commutateur.
Le problème est que quand je veux get le numéro du port, je me retrouves toujours avec null.
En cherchant la raison du problème, j'ai comme contenu de la HashTable, celà en rajoutant cette source :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 private Hashtable<MacAdr,Integer> macadr; macadr = new Hashtable(100); public synchronized void ajouter(MacAdr a, int port) { macadr.put(a, port); } public synchronized int getport(MacAdr m) { return macadr.get(m); }
Qui affiche bien le bon contenu :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 for (Enumeration e = macadr.elements() ; e.hasMoreElements() ;) { System.out.println(e.nextElement()); } for (Enumeration e = macadr.keys() ; e.hasMoreElements() ;) { System.out.println(e.nextElement()); }
En faisant macadr.get(MacAdr), je devrais avoir comme valeur de retour le port (en Integer) mais j'ai toujours un null1
0
3
2
00:00:00:00:00:01
00:00:00:00:00:00
00:00:00:00:00:03
00:00:00:00:00:02, est-ce bien comme sa qu'on récupère un élément dans une hashtable/hashmap ?
Merci
Partager