IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Collection et Stream Java Discussion :

Problème de récupération du contenu du hashMap d'une classe Runnable dans une autre Classe


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Inscrit en
    Mai 2009
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 1
    Par défaut Problème de récupération du contenu du hashMap d'une classe Runnable dans une autre Classe
    Bonjour,
    j'ai un problème au niveau de la récupération du contenu du HashMap d'une classe Runnable dans une autre classe,
    J'ai fait le extends mais la taille du hashMap est toujours null par contre dans la classe runnable HashMap n'est pas vide.
    J'ai essayé avec Collections mais ça marche pas
    voici le code de la classe Runnable



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    public class TraitementTrameNMEA implements Runnable{
        public static String id;
    	public SelectionKey cleTracker;
    	String hex;
    	public static HashMap<String, SelectionKey> monhashMap = new HashMap<String,SelectionKey>();
     
    	static String idTracker;
     
    	public static void main(String[] args) throws Exception {
     
    		getTailleHashMap(monhashMap);
     
     
     
    	}
     
    	public TraitementTrameNMEA(String id, SelectionKey cleTracker, String hex) {
    		super();
    		this.id = id;
    		this.cleTracker = cleTracker;
    		this.hex = hex;
    	}
     
     
     
     
     
    	public TraitementTrameNMEA() {
     
    	}
     
     
     
    	public synchronized void run() {
    		try{
    		// //receiver
    		 String receiver= hex.substring(0,4);
     
    		if(receiver.equals("2424")){//Test sur l'entete de la trame
     
    			// //ID
    			id= hex.substring(8,22);
     
    		//remplissage du hashMap
     
    		System.out.println("I put id and cleTracker in the HashMap");
    		System.out.println("id"+id);
    		System.out.println("cle du tracker"+cleTracker);
    		Thread.sleep(2);
    	}
    		catch(InterruptedException e){}
     
    		ClasseB.recapMap.put(id,cleTracker );	
    		System.out.println("la taille du recapHashMap est"+ClasseB.recapMap.size());
    		//ClasseB.recapMap=monhashMap;
    	}
    ClasseB.java

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public class ClasseB {
        public static Map<String,SelectionKey> recapMap =Collections.synchronizedMap(new HashMap<String,SelectionKey>());;
     
    	 public static void main(String args[])
    	  {
    		 new ClasseB();
    		 System.out.println("taille du recap hashMap"+recapMap.size());
    	  }
    Merci pour votre aide

  2. #2
    Membre expérimenté Avatar de Torg666
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2008
    Messages
    230
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2008
    Messages : 230
    Par défaut
    Avant de te lancer sur les thread, tu devrai te plonger sur la programmation orientée objet (POO), parceque la c'est sur, ca ne peu pas marcher...
    pourquoi:
    - la fonction static void main... : elle sert a lancer l'application, donc 1 seule suffit.
    - dans classeB tu fais un new classeB()...: tu n'a pas defini le constructeur de classeB et tu n'étend aucune autre classe... donc ca ne fais rien,
    - tu declare tes variables en static...: ca sert qd tu veux un variable qui aura la même valeur pour toute les instances de ton objet, mais dans ton cas c'est douteux notement pour id,
    - la definition de la fonction getTailleHashMap(monhashMap) serai peut etre utile,
    - pour ce qui est du thread... tu ne le lance jamais,
    etc...

    Avant de gerer des thread, il y a plein de chose à savoir et ici il y a plein de tuto bien fait qui pourrons t'aider.

Discussions similaires

  1. [DOM] Récupération du contenu d'une class
    Par cyberlp dans le forum Bibliothèques et frameworks
    Réponses: 21
    Dernier message: 14/01/2012, 09h48
  2. Réponses: 4
    Dernier message: 24/08/2011, 18h23
  3. Problème de récupération du contenu du Label
    Par ralf91 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 09/08/2011, 12h00
  4. Réponses: 5
    Dernier message: 25/05/2007, 10h22
  5. Réponses: 4
    Dernier message: 16/05/2006, 23h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo