[Java] Conversion int,double <-> object est ce possible? [Résolu]

Conversion int,double <-> object est ce possible? [Résolu] [Java] - Java - Programmation

Marsh Posté le 20-12-2002 à 22:49:43    

voila, j'ai besoin de stocker dans un tableau plusieurs attributs qui ne sont pas de memes types.
 
je fais donc un tableau d'objects, mais java me dit "inconvertible type".
 
Alors peut on convertir des int, double,string... en object et inversement, j'ai besoin de les reutiliser apres les avoir stocker.
 
la reponse est surement oui, merci de m'aider!


Message édité par thunderbird54 le 21-12-2002 à 23:16:42
Reply

Marsh Posté le 20-12-2002 à 22:49:43   

Reply

Marsh Posté le 20-12-2002 à 23:24:50    

Va lire la doc du package java.lang sur http://java.sun.com/j2se/1.4.1/docs/api/

Reply

Marsh Posté le 20-12-2002 à 23:30:42    

Le problème est le suivant : si je ne m'abuse, les types primitifs ne sont pas traités comme des objets. Pour cela, on peut utiliser des wrappers (Integer, Double...). Cependant, peut-être as-tu intérêt à créer un tableau de doubles et non d'Objects, quitte à caster tes int et float en double avant insertion.


---------------
Le site de ma maman
Reply

Marsh Posté le 20-12-2002 à 23:53:04    

le probleme c ke je fois stocker un object color aussi!
 
taiche -> jvé lire
 
Merci

Reply

Marsh Posté le 20-12-2002 à 23:55:59    

si t'utilises des wrappers, qui sont des Objets, il te suffira de declarer un tableau d'Objets, tout simplement :jap:

Reply

Marsh Posté le 21-12-2002 à 00:15:12    

BotMan a écrit :

si t'utilises des wrappers, qui sont des Objets, il te suffira de declarer un tableau d'Objets, tout simplement :jap:

C'est la solution qu'il te faut alors. :jap:


---------------
Le site de ma maman
Reply

Marsh Posté le 21-12-2002 à 11:56:38    

BotMan a écrit :

si t'utilises des wrappers, qui sont des Objets, il te suffira de declarer un tableau d'Objets, tout simplement :jap:


 
qu'est ce qu'il fait là lui [:serial coder]

Reply

Marsh Posté le 21-12-2002 à 12:00:25    

DarkLord a écrit :


 
qu'est ce qu'il fait là lui [:serial coder]

mais c'est koi cette horreur de smiley [:rofl] [:iansolo]
 
moi jsuis banni de blabla alors je viens sur prog :jap:
(et ca me fait reviser mon java :D)

Reply

Marsh Posté le 21-12-2002 à 12:03:08    

BotMan a écrit :


moi jsuis banni de blabla alors je viens sur prog :jap:
(et ca me fait reviser mon java :D)


 
bienvenue :hello:


Message édité par darklord le 21-12-2002 à 12:03:50
Reply

Marsh Posté le 21-12-2002 à 12:03:25    

BotMan a écrit :

mais c'est koi cette horreur de smiley [:rofl] [:iansolo]


 
quoted. J'en connais un qui va être content :D

Reply

Marsh Posté le 21-12-2002 à 12:03:25   

Reply

Marsh Posté le 21-12-2002 à 12:04:27    

DarkLord a écrit :


 
bienvenue :hello:

merci :jap:

Reply

Marsh Posté le 21-12-2002 à 12:05:04    

moi, je ne te souhaite pas la bienvenue [:le kneu]

Reply

Marsh Posté le 21-12-2002 à 12:07:14    

DarkLord a écrit :


 
quoted. J'en connais un qui va être content :D

[:zerod]

Reply

Marsh Posté le 21-12-2002 à 12:11:44    

bon, vous allez arreter de polluer ce topic ? :heink:

Reply

Marsh Posté le 21-12-2002 à 12:23:51    

morpheus67 a écrit :

bon, vous allez arreter de polluer ce topic ? :heink:  


 
 :kaola:

Reply

Marsh Posté le 21-12-2002 à 14:17:48    

c quoi les wrappers?

Reply

Marsh Posté le 21-12-2002 à 14:46:34    

thunderbird54 a écrit :

c quoi les wrappers?


 
Des classes encapssulant les types de base. java.lang.Integer par exempel est un wrapper


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 21-12-2002 à 15:36:33    

bon comme je ne comprends pas tout voici ce ke je fais dans une classe save2 :
 

Code :
  1. import java.util.ArrayList;
  2. import java.awt.*;
  3.     public class Save2 {
  4.       private ArrayList liste;
  5.  
  6.        public Save2() {
  7.          liste = new ArrayList();
  8.       }
  9.  
  10.        public void ajout(double type,
  11.                          double x,
  12.                          double y,
  13.                          double x1,
  14.                          double y1,
  15.                          Color couleur) {
  16.      
  17.          Object tab[]=new Object[6];
  18.      
  19.          tab[0]=(Object)type; // Erreur inconvertible type
  20.          tab[1]=x; //Erreur incompatible type
  21.          tab[2]=y;   // idem
  22.          tab[3]=x1;  // idem
  23.          tab[4]=y1;  // idem
  24.          tab[5]=couleur; // pas de probleme!!!
  25.      
  26.          liste.add(tab);
  27.       }
  28.  
  29.        public Object[] dessin(Graphics g) {
  30.          Object tab[]=liste.toArray();
  31.          return tab;
  32.       }
  33.    }


 
j'ai mis en commentaire les erreurs que j'obtient.

Reply

Marsh Posté le 21-12-2002 à 15:43:46    

Utilise Double d = new double(type), puis tab[0] = d;


---------------
Le site de ma maman
Reply

Marsh Posté le 21-12-2002 à 16:20:53    

marche po:
 
     
     ----jGRASP exec: javac D:\Projet3\Save2.java
     
    D:\Projet3\Save2.java:21: '[' expected
           double d = new double(type);
                                 ^
    D:\Projet3\Save2.java:21: illegal start of expression
           double d = new double(type);
                                       ^
    D:\Projet3\Save2.java:21: incompatible types
    found   : double[]
    required: double
           double d = new double(type);
                       ^
    D:\Projet3\Save2.java:24: incompatible types
    found   : double
    required: java.lang.Object
             tab[0]=d; // Erreur inconvertible type
                    ^
    4 errors
   

Reply

Marsh Posté le 21-12-2002 à 16:22:12    

rectification avec des d majuscule ca marche!

Reply

Marsh Posté le 21-12-2002 à 16:24:27    

mais bon fo ke tu m'explik parceke je n'ai pas compris a quoi servait la ligne! c ca un wrapper?
 
comment je fait pour le retirer apres du tableau? et lire sa vrai valeur

Reply

Marsh Posté le 21-12-2002 à 20:49:49    

thunderbird54 a écrit :

rectification avec des d majuscule ca marche!


 
  :sarcastic:

Reply

Marsh Posté le 21-12-2002 à 20:50:45    

thunderbird54 a écrit :

mais bon fo ke tu m'explik parceke je n'ai pas compris a quoi servait la ligne! c ca un wrapper?
 
comment je fait pour le retirer apres du tableau? et lire sa vrai valeur


 
Un wrapper c'est bêtement un objet qui encapsule un type primtif. Ca te permet donc de mettre un objet de type int, long, double, etc dans un tableau d'objet. Donc tu récupères ton objet Double par exemple et tu as une méthode qui te renvoie le type primitif que le wrapper contient (.doubleValue() je suppose)

Reply

Marsh Posté le 21-12-2002 à 23:16:18    

ok c bon!
po bsoin de levé les yeux au ciel lol

Reply

Marsh Posté le 21-12-2002 à 23:19:23    

et merci lol
 
j'aV oublié
 
po bien!

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed