Java correctement convertir convertir / cast objet en Double
J'ai essayer de trouvé, mais tout semble vague.
J'ai besoin de convertir l'Objet o à Double.
Est la façon correcte d'abord le convertir en String?
Merci.
source d'informationauteur user710818 | 2011-09-21
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas associer un objet à un
Double
si l'objet n'est pas un Double.Découvrez la API.
en particulier la note
valueOf(double d);
et
valueOf(String s);
Ces méthodes vous donnent un moyen d'obtenir un
Double
instance à partir d'une Chaîne ou double primitive. (Pas aussi les constructeurs de lire la documentation pour voir comment ils fonctionnent) L'objet que vous essayez de convertir naturellement a vous donner quelque chose qui peut être transformé en un lit double.Enfin, gardez à l'esprit que
Double
instances sont immuables-une fois créé, vous ne pouvez pas les modifier.Mais il semble bizarre pour moi que vous allez à partir d'un Objet à un Double. Vous devriez avoir une meilleure idée de ce que la classe de l'objet que vous débutez avec avant de tenter une conversion. Vous pourriez avoir un peu de code de problème de qualité.
Remarque que c'est une conversion, pas de coulée.
Vous pouvez utiliser l'opérateur instanceof à tester pour voir si c'est un double avant la coulée. Ensuite, vous pouvez en toute sécurité le convertir en un lit double. En outre, vous pouvez tester d'autres types connus (par exemple, Integer) et ensuite les contraindre à un double manuellement si vous le souhaitez.
Si votre Objet représente un nombre, par exemple, comme un Entier, vous pouvez le convertir en un Numéro puis appel de la doubleValue() la méthode.
Aussi la peine de mentionner -- si vous avez été obligé d'utiliser une ancienne version de Java avant la 1.5, et que vous essayez d'utiliser les Collections, vous ne serez pas en mesure de paramétrer la collection avec un type comme
Double
.Vous devrez manuellement "boîte de" à la classe
Double
lors de l'ajout de nouveaux éléments, et "unbox" à la primitivedouble
par l'analyse et de la coulée, de faire quelque chose comme ceci:La vieille école liste contient uniquement de type
Object
, et d'être jeté àDouble
.Aussi, vous ne serez pas en mesure de parcourir la liste avec un renforcement de la boucle au début de versions de Java -- seulement avec une boucle for.
En Java version antérieure à la version 1.7 vous ne pouvez pas convertir un objet de type primitif
Vous pouvez associer un Objet à une Double amende juste
Attention, il peut jeter un ClassCastException si votre objet n'est pas un Double
Essayé toutes ces méthodes de conversion ->