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 :

reemap entryset toarray cast vers un tableau impossible


Sujet :

Collection et Stream Java

  1. #1
    Membre très actif
    Inscrit en
    Février 2006
    Messages
    707
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 707
    Par défaut reemap entryset toarray cast vers un tableau impossible
    Bonjour,

    Je ne parviens pas à caset un tableau provenant d'une treemap.

    Quelques explication s'imposent.

    J'ai créer une treemap de type suivant pour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    private static TreeMap<String, Double>mapProduct;
    Cet map à pour bit de stocker en cach les information sur les produit stocker dans ma base de donnée. mais comme ce n'est pas ça qui pose problème, je ne vous mettrerais pas le code ici. La seule chose qui faut savoir c'est qu'auparavant la méthode suivante allais chercher le nom des produit dans la base de donnée et les retournaient. Comme j'utilise jdatastore en mode local (comme un thread dans mon programme), cela semble provoquer des outofmemorryerror et ce prosque toujours dans ce code.

    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
     
    /*	String[] products;
    		PreparedStatement staProduct = null;
    		ResultSet rstQuery = null;
     
    		try {
    		staProduct = conDb.prepareStatement(new String("SELECT DISTINCT COUNT(nomProduit) FROM Produits"));
    		rstQuery = staProduct.executeQuery();
    		rstQuery.next();
     
     
     
    		staProduct = conDb.prepareStatement(new String("SELECT nomProduit FROM Produits"),ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
    		rstQuery = staProduct.executeQuery();
     
    		// conmpter le nombre de produits
     
    		int memo = rstQuery.getRow();
    		rstQuery.last();
     
    		products = new String[rstQuery.getRow()];
    		rstQuery.absolute(memo);
     
    		for (int i = 0; rstQuery.next();i++)	
    			products[i] = rstQuery.getString(1);	
     
     
    		return products;
    le nouveau code va simplement cherchet les nom de produis en cache dans la treemap mais une castException est levée lorsque je tente cela dans getproductName()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    public static String[] getProductNames() {
    		return (String[]) mapProduct.keySet().toArray();
    }
    Comment résoudre ce problème.

    Merci de me répondre

    Battant

  2. #2
    Membre Expert
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Par défaut
    Il faut utiliser <T> T[] toArray(T[] a).

  3. #3
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    keySet().toArray() retournera toujours un Object[] pas un String[].
    Pour avoir un String[] il suffit de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mapProduct.keySet().toArray(new String[])

Discussions similaires

  1. "Marquer comme Lu" vers le tableau de bord
    Par Jean-Marc.Bourguet dans le forum Evolutions du club
    Réponses: 17
    Dernier message: 17/05/2006, 14h59
  2. donnees d'une base de donnees vers un tableau
    Par matterazzo dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 28/10/2005, 23h05
  3. Lien vers un tableau...
    Par EssaiEncore dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 03/09/2005, 16h43
  4. Pointeur vers un tableau
    Par Nikos dans le forum C
    Réponses: 3
    Dernier message: 09/12/2002, 00h43
  5. Réponses: 2
    Dernier message: 30/05/2002, 10h19

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