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 :

probleme avec la classe vector


Sujet :

Langage Java

  1. #1
    Membre habitué

    Profil pro
    Inscrit en
    Avril 2004
    Messages
    421
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2004
    Messages : 421
    Points : 189
    Points
    189
    Par défaut probleme avec la classe vector
    Bonjour a tous,

    j'ai une erreur quand j'essaie de compiler ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    public class test1{
      public static void main ( String args[]){
     
        Vector valeurs = new Vector();
        valeurs.add(0.1);
        int n = valeurs.indexOf(0.1,0);
        double x = valeurs.elementAt(n);
      }
    }
    et il me sort ceci comme erreur :

    test1.java:17: incompatible types
    found : java.lang.Object
    required: double
    double x = valeurs.elementAt(n);
    ^
    Note: test1.java uses unchecked or unsafe operations.
    Note: Recompile with -Xlint:unchecked for details.
    1 error


    je compile avec javac

    merci

    bye

  2. #2
    Membre régulier Avatar de Vesperal
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 81
    Points : 81
    Points
    81
    Par défaut
    A la place de mettre des "double" dans ton Vector, éssaye d'y mettre des Objets Double;

    Tu changes comme suis :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    Vector valeurs = new Vector(); 
        valeurs.add(new Double(0.1)); 
        int n = valeurs.indexOf(new Double(0.1),0); 
        double x = ((Double)valeurs.elementAt(n)).doubleValue();
    Comme ca tu manipules des objets Double, et tu peux récupérer leur valeur avec doubleValue();

    Parce que de base, les Vectors ne sont pas fait pour stocker des types primitifs.

  3. #3
    Membre chevronné
    Avatar de Deadpool
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1 312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 312
    Points : 2 011
    Points
    2 011
    Par défaut
    Apparamment il utilise Java 1.5 donc y'a l'autoboxing.

    Modifie ton code comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    public class test1{ 
      public static void main ( String args[]){ 
     
        Vector<Double> valeurs = new Vector<Double>(); 
        valeurs.add(0.1); 
        int n = valeurs.indexOf(0.1,0); 
        double x = valeurs.elementAt(n); 
      } 
    }
    Ca devrait mieux fonctionner.

  4. #4
    Membre actif Avatar de @ldehan
    Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 215
    Points : 278
    Points
    278
    Par défaut
    sauf en 1.5 si j'ai tout suivi ou on ferai plutot :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public class test1{
      public static void main ( String args[]){
     
        Vector<Double> valeurs = new Vector<Double>();
        valeurs.add(0.1);
        int n = valeurs.indexOf(0.1,0);
        double x = valeurs.elementAt(n);
      }
    }
    comme ca on type le vector et avec l'autoboxing pas de probleme de Wraper.

    Les spécialiste du tigre confirmeront
    [edit]erf grilled, mais j'avais bon... c'est déjà ca ! faut vraiment que je me mette à 1.5[/edit]

  5. #5
    Membre régulier Avatar de Vesperal
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 81
    Points : 81
    Points
    81
    Par défaut
    Je n'avais pas vu qu'il avait le 1.5. Pratique l'autoboxing, c'est clair. Tant pis, ma méthode servira à autrui

Discussions similaires

  1. probleme avec la classe vector de java.util
    Par gtkmm dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 02/02/2010, 13h05
  2. Probleme avec la classe vector
    Par sylvain.cool dans le forum SL & STL
    Réponses: 16
    Dernier message: 09/06/2008, 15h36
  3. Probleme avec la STL(vector) avec code C
    Par Benjy dans le forum SL & STL
    Réponses: 12
    Dernier message: 06/04/2006, 12h54
  4. Probleme avec une class template
    Par lenectar dans le forum Langage
    Réponses: 2
    Dernier message: 01/03/2006, 10h49
  5. probleme avec la classe calendar
    Par fatmax dans le forum Collection et Stream
    Réponses: 6
    Dernier message: 04/10/2005, 17h04

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