Impossible de convertir un objet de type en long
J'ai une table de hachage nommé table
. Le type de valeur est long
. J'obtiens des valeurs à l'aide .values()
. Maintenant, je veux accéder à ces valeurs.
Collection val = table.values();
Iterator itr = val.iterator();
long a = (long)itr.next();
Mais quand j'ai essayer de l'obtenir, il me donne l'erreur parce que je ne peux pas convertir de type object
à long
. Comment puis-je aller autour d'elle?
source d'informationauteur Mohit BAnsal
Vous devez vous connecter pour publier un commentaire.
Essayez ceci:
Vous vous retrouvez avec un objet assez Long, mais avec l'autoboxing vous pouvez l'utiliser presque comme une primitive de long.
Une autre option est d'utiliser des Génériques:
Number
classe peut être utilisée pour surmonter numérique conversion de type de données.Dans ce cas, le code suivant peut être utilisé:
J'ai préparé les exemples ci-dessous:
Object
àlong
exemple - 1Console sortie serait:
Object
àdouble
exemple - 2Console sortie serait:
Object
àdouble
exemple - 3Soyez prudent à propos de ce simple erreur! Si un float valeur est convertie en utilisant
doubleValue()
fonction, la première valeur pourrait ne pas être égale à la valeur finale.Comme indiqué ci-dessous
0.11
!=0.10999999940395355
.Console sortie serait:
Object
àfloat
exemple - 4Console sortie serait:
Essayer :
long a = ((Long) itr.next()).longValue();
Vous devez utiliser le nouveau Génériques fonctionnalités de Java 5.
Vous pouvez lire ce guide de howto ou ce plus complète tutoriel.
dans mon cas, j'ai un tableau d'Objets que je l'obtenir à partir d'un flex client,
parfois, les chiffres peuvent être interprétés par java int et parfois,
donc, pour résoudre le problème j'utilise le "toString ()" la fonction comme suit:
J'ai connu le même problème, mais tout en faisant des JSP de codage. Le ci-dessus mentionné suggestions sur les Longues et les génériques n'ont pas de travail ou ne rentrent pas dans le fragment de code.
J'ai eu à résoudre comme ça(JSP):
et ensuite utiliser mon Objet y <%=y%> comme nous l'utilisation de toute autre variable Java dans scriptlet.