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 :

hashmap et type safety warning


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 44
    Par défaut hashmap et type safety warning
    quelle serait la bonne syntaxe pour ce qui suit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HashMap<String,String>[] hashMapArray=new HashMap[10];
    pour que ca ne donne pas le warning suivant sous eclipse?
    "Type safety: The expression of type HashMap[] needs unchecked conversion to conform to HashMap<String,String>[]"

    Merci de votre aide

  2. #2
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,


    Il n'y en a pas.
    Les tableaux ne permettent pas d'avoir du code type-safe, alors que c'est l'objectif même des Generics...

    • Soit tu gères toi-même ce problème et tu ignores le warning avec un @SuppressWarnings,
    • Soit tu utilises une List<Map<String,String>>


    a++

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 44
    Par défaut
    En fait,
    je ne sais pas trop ce qui serait le mieux a employer
    ce que je veux c executer une requete sql (sql server 2005)
    recuperer le resultset et stocker le contenu de ce resultset avec formattage des données numeriques et des dates dans un sorte de tableau de String
    j'aurais preferé que avec le driver jdbc de sql server je puisse updater le resultset mais le concu_updatable ne va pas avec le type_scroll_insensitive

    le mieux ce serait d'utiliser List<Map<String,String>> ??
    tu pourrais me faire un exemple parce que je vois que l'object liste ne peut etre instancié et donc je vois pas comment faire

    actuellement j'ai donc un truc du genre

    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
    Statement stmt = connection.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
    Resultset rs=stmt.executeQuery(query);
     
    rs.last(); //move to the last row
    int rowcount = rs.getRow(); // equal to row count
    rs.beforeFirst();
     
    ResultSetMetaData metadata = rs.getMetaData();
    int Ncol=metadata.getColumnCount();
    Hashtable<String, String>[] hash=new Hashtable[rowcount];
    int j=0;
     
    while(rs.next())
    	{
    	hash[j]=new Hashtable<String,String>();
    	for(int i=0;i<Ncol;i++)
    		{
     
    		//Ici y'a mes conversions etc... 
     
    		hash[j].put(ColumnName,Value);
    		}
    	j++;
    	}
    return hash;

  4. #4
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,


    List est en effet une interface... Il faut utiliser un type concret (comme ArrayList par exemple). Il en est de même avec les Map/HashMap... et ce depuis la "nouvelle" API de collection de Java 1.2...

    Cela permet de faire abstraction de l'implémentation exact de la collection, et donc de pouvoir en changer facilement si le besoin s'en fait sentir...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     List<Map<String,String>> list = new ArrayList<Map<String,String>>();


    Maintenant pour revenir à ton code... Il serait nettement préférable de faire du mapping BD<->Object plutôt que d'utiliser une Map...
    Cela permettrait d'utiliser une belle liste d'objet !


    a++

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 44
    Par défaut
    Citation Envoyé par adiGuba Voir le message
    Maintenant pour revenir à ton code... Il serait nettement préférable de faire du mapping BD<->Object plutôt que d'utiliser une Map...
    Merci de ta reponse mais suis un peu neuneu
    qu'entend tu par faire du mapping BD<->Object

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 44
    Par défaut
    tu veux parler d'un truc genre Java Data Objects...Pojo... c'est ca?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Type safety: Unchecked cast from List to List<*>
    Par Altenide dans le forum Langage
    Réponses: 9
    Dernier message: 30/06/2011, 15h38
  2. hashmap: references type should be parametrized
    Par flora806 dans le forum Collection et Stream
    Réponses: 10
    Dernier message: 20/11/2007, 18h26
  3. warning Type safety
    Par anasshb dans le forum Langage
    Réponses: 3
    Dernier message: 01/10/2007, 18h15
  4. Un type safety
    Par arsenik7 dans le forum Langage
    Réponses: 3
    Dernier message: 30/06/2006, 15h55
  5. [Comparator] Warning Type safety
    Par Pollux dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 30/01/2006, 20h43

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