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

Langage Java Discussion :

Conversion en un type Generics


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 19
    Par défaut Conversion en un type Generics
    Bonjour,

    J'ai une fonction "public static <V> Map<String, V> getMapFromVertexAttributes (...)" dans laquelle j'appelle une fonction qui me renvoie une Map<String, String> et en gros je voudrais la transformer en un Map<String, V> ou V est un type generique. Sachant que V va se limiter a des types d'Objects simples comme String, Number...

    Bon je met tout mon code ici, c'est legerment different du pb simplifie que j'explique au dessus, ca vous aidera ptet si vous comprenez mal le pb. Ici je cherche a remplacer les String par un type generique :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public static <V> Map<V, String> getMapFromVertexAttributes (Collection<V> vertices, String attribute, GraphMLFileHandler fileHandler) {
          Map<V, String> retour = new HashMap<V, String>();
          for(V currentVertex : vertices) {
             Map<String, String> vertexMap = (Map<String, String>)(fileHandler.getVertexAttributes().get(currentVertex));
             if(vertexMap.containsKey(attribute))
                retour.put(currentVertex, /*ici probleme de cast/conversion*/ vertexMap.get(attribute));
          }
          return retour;
       }

  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
    Je ne comprends pas pourquoi tu as un problème de cast à la ligne que tu indiques.

    currentVertex m'apparait être du type V, selon sa déclaration et son affectation, tandis que vertexMap.get(attribute) devrait être du type String, toujours d'après déclaration et affectation ; donc tout va bien, ou alors je suis pas bien réveillé ce matin ?

    Par ailleurs, d'après le descriptif de ton problème, selon quoi tu voudrais transformer un type String en un type V, V se limitant à des String, Number, etc, c'est tout simplement impossible directement : tu ne peux pas caster un type qui pourrait être un Number en un type qui est un String.

Discussions similaires

  1. [C#] Conversion implicite de type object vers int
    Par alexking2005 dans le forum C#
    Réponses: 5
    Dernier message: 02/01/2007, 10h02
  2. Conversion d'un type (chaine) en type concret
    Par cheachwood dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 19/12/2006, 16h23
  3. Réponses: 5
    Dernier message: 12/10/2006, 13h49
  4. [Dates] Conversion de date (type mktime en date normale)
    Par jeff&&php dans le forum Langage
    Réponses: 6
    Dernier message: 17/05/2006, 15h27
  5. conversion d'un type Extended vers un string
    Par matterazzo dans le forum Langage
    Réponses: 2
    Dernier message: 28/10/2005, 19h22

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