Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1100 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  CAST ERROR

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

CAST ERROR

n°1027372
cyrax_bfp
Posté le 28-03-2005 à 15:49:09  profilanswer
 

Bonjour,
 
J'utilise une HashMap dans mon code.
Quand je ve recuperer la valeur d'une des clés , ca me renvoie un object.
Ma clé est un int alors je me di pas de problemes , je vais le caster mais :
monEntier = (int) maHashMap.get(maCle);
c'est refusé :/
alors comment faire pour le caster???
(j'ai bien été voir l'api java mais bon :/ rien)
si vous avez une idée ce serait cool. merci

mood
Publicité
Posté le 28-03-2005 à 15:49:09  profilanswer
 

n°1027378
verdoux
And I'm still waiting
Posté le 28-03-2005 à 15:59:14  profilanswer
 

oulala !

n°1027388
glod 2
Votre trajet, notre projet.
Posté le 28-03-2005 à 16:12:16  profilanswer
 

Si t'es en java 1.5 tu peux faire  
int machin = (Integer)hashmap.get(...);
Sinon faut le mettre dans un Integer puis
int machin = tonInteger.intValue();

n°1027390
Taz
bisounours-codeur
Posté le 28-03-2005 à 16:13:53  profilanswer
 

vis à vis de l'edit 2 : j'ai jamais compris ce quiproquo entre cast et transtypage. Retrouver le type réel d'un objet et faire une conversion, c'est très différent. Donc non, en C++, tu ne peux pas surcharger l'opérateur de cast.

n°1027400
cyrax_bfp
Posté le 28-03-2005 à 16:25:40  profilanswer
 

Merci pour les reponses.
Je vais utiliser l'objet Integer mais bon java ca me change par rapport au C :) bref  
Integer monInteger = new Integer((Integer)maHashMap.get(MaCle));
si je comprends bien ^^

n°1027401
Taz
bisounours-codeur
Posté le 28-03-2005 à 16:30:42  profilanswer
 

tu comprends rien, et j'imagine le carton en C ...

n°1027412
Taz
bisounours-codeur
Posté le 28-03-2005 à 16:40:34  profilanswer
 

maintenant la question à 100points : ça serait quoi l'intérêt de faire une copie d'un Integer si c'était possible ?

n°1027440
cyrax_bfp
Posté le 28-03-2005 à 17:26:53  profilanswer
 

oui pas bete , j'ai ecris ca un peu vite ^^
et aucun interet pour repondre a taz
Merci annadivx pour tes reponses completes.

n°1027540
cyrax_bfp
Posté le 28-03-2005 à 18:51:53  profilanswer
 

Lol je crois que je me suis mal exprimé en disant "et aucun interet pour repondre a taz" ca voulait dire qu'il n'ya aucun interet a faire une copie d'un Integer :)"
-----------------------------
Sinon une derniere petite question
quand j'utilise sur ma hashmap un keySet() qui me renvoie un Set contenant tous les cle de la hashmap, si je modifie ensuite ce Set retourne il me modifira bien ma hashmap ( en gros ces cles sont des pointeurs vers la hashmap elle meme?)

n°1027548
benou
Posté le 28-03-2005 à 18:56:46  profilanswer
 

glod 2 a écrit :

Si t'es en java 1.5 tu peux faire  
int machin = (Integer)hashmap.get(...);


en java 1.5, tant qu'à faire on fera une map générique =>
 

Code :
  1. Map<...,int> map = new HashMap<...,int>();
  2. ...
  3. int machin = map.get(...);


---------------
ma vie, mon oeuvre - HomePlayer
mood
Publicité
Posté le 28-03-2005 à 18:56:46  profilanswer
 

n°1027558
cyrax_bfp
Posté le 28-03-2005 à 19:01:33  profilanswer
 

arf...
while (1){
   maCervelle--;
   comprendsPas++;
   fprintf(stderr,"aidez moi :)\n" );
}
 
Bon c pas grave je vais essayer d'etre plus clair et d'expliciter mon probleme.
disons que j'ai une hashmap contenant de cles et des valeurs
Si je ve faire un random sur une des cles, existe t'il un objet plus adapté que les hashmap? ou c'est possible ???

n°1027560
glod 2
Votre trajet, notre projet.
Posté le 28-03-2005 à 19:03:20  profilanswer
 

benou a écrit :

en java 1.5, tant qu'à faire on fera une map générique =>
 

Code :
  1. Map<...,int> map = new HashMap<...,int>();
  2. ...
  3. int machin = map.get(...);



 
:non:
Faut des objets pour typer une collection, donc <..., Integer>
 
Sinon oui modifier le KeySet modifie la HashMap.


Message édité par glod 2 le 28-03-2005 à 19:04:03
n°1027564
benou
Posté le 28-03-2005 à 19:04:32  profilanswer
 

je comprend pas : tu dis que tu veux faire un random sur des clefs d'une hashmap mais tu demandes si tu dois utiliser une hashmap ?  :heink:


---------------
ma vie, mon oeuvre - HomePlayer
n°1027567
benou
Posté le 28-03-2005 à 19:08:49  profilanswer
 

glod 2 a écrit :

:non:
Faut des objets pour typer une collection, donc <..., Integer>
Sinon oui modifier le KeySet modifie la HashMap.


ha oui tiens ... ils ont pas géré l'autoboxing sur les generics ... bizarre ...
 
correction de l'exemple

Code :
  1. Map<String, Integer> map = new HashMap<String, Integer>();
  2. map.put("toto", 12);
  3. int val = map.get("toto" );


(compilé et testé pour éviter de raconter des conneries)


Message édité par benou le 28-03-2005 à 19:09:09

---------------
ma vie, mon oeuvre - HomePlayer
n°1027574
cyrax_bfp
Posté le 28-03-2005 à 19:13:57  profilanswer
 

En fait benou.
j'utilise une hashmap mais je pe changer si un objet se prete plus a mes attentes...
Sur cette hashmap , je voudrais faire un tirage aleatoire qui me donnerait une des cle de la hashmap. et ensuite modifié la valeur associé a cette clé. Juste ca :)

n°1027577
benou
Posté le 28-03-2005 à 19:15:57  profilanswer
 

je vois pas bien pourquoi tu tires pas directement au hasard parmis les valeurs ... c'est quoi l'intérêt de la clef dans l'histoire ? (dès que tu parles de clef et de valeur, tu parles déjà de Map ...)


---------------
ma vie, mon oeuvre - HomePlayer
n°1027580
cyrax_bfp
Posté le 28-03-2005 à 19:17:51  profilanswer
 

algo de voisinage oui :)

n°1027584
cyrax_bfp
Posté le 28-03-2005 à 19:20:22  profilanswer
 

en fait je m'explique
ma map contient en clé un type de cellule, et leur nombre qui existe.
Je voudrais en tuer de temps en temps aleatoirement.
Donc fo que je chope une des cellules (clé) de la map, faire une decrementation sur le nombre (valule).
et ensuite renvoyé quelle cellule a été modifié...
voila :)
 

n°1027597
cyrax_bfp
Posté le 28-03-2005 à 19:27:39  profilanswer
 

ok bon dodo. :)
Le probleme c'est que en plus je connais pas en avance les types de cellules surtout qu'on peut en ajouter dynamiquement.
Mais bon je vais essayer de reprendre tout depuis le debut. Je me suis trop embrouillé la en fait :)
Merci


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  CAST ERROR

 

Sujets relatifs
[MySQL] Impossible de se connecter au serveur? Error 2003 ???Linker Error while emitting metadata
Parse error: parse error, unexpected $Aide svp => on error goto ...
erreur inattendue - parse error, unexpected T_ELSEerror LNK2019
double, float, int : resultat inattendu sur un castEndianness issue : warning sur cast de pointeur ?
Debug Error à cause d'un free[RESOLU] Fatal error: main() [function.main] - class php5
Plus de sujets relatifs à : CAST ERROR


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR