Bonjour à tous

,
Voici mon problème. J'ai le tableau "the_packet" qui contient des données du type "DatagramPacket". Je voudrais connaitre l'adresse de type "InetAddress" qui revient le plus souvent dans le tableau. C'est le but de la fonction suivante:
public String retour_adresse() { Hashtable tab_adr = new Hashtable(); InetAddress adr_finale; int cpt_final = 0; String h=""; Enumeration mes_elements; Integer n=new Integer(0); tab_adr.clear(); for(int i=0;i<=ma_liste.nombreDonnee();i++) { //n = (Integer)tab_adr.get(the_packet[i].getAddress()); //test pour vérifier si la clé est deja présente dans la hashtable if(n!=null) { int tampon = n.intValue(); //transformation de "Integer" à "int" tampon++; // on incrémente cette valeur Integer z = new Integer(tampon); //tab_adr.put(the_packet[i].getAddress(), z); //on remplace la valeur de la clé } else { tab_adr.put(the_packet[i].getAddress(), new Integer(1)); // on crée une nouvelle clé } } for(mes_elements = tab_adr.elements(); mes_elements.hasMoreElements();) //boucle cherchant la valeur max du compteur { Object r = mes_elements.nextElement(); h = r.toString(); } return h; }
|
Cependant les deux lignes mises en commentaire posent problème. Elles ne génèrent pas d'erreur lors de la compilation, mais en provoque lorsque je construit l'exécutable .jar.
Je voudrais déjà savoir quelle est la différence entre le type "int" et le type "Integer"? Par exemple on ne peut pas incrémenter une valeur de type "Integer"... L'erreur vient peut-être de là...

Merci par avance de votre aide. ++