Java中parseDouble方法无法将int转为double的原因咨询
为什么Java里parseDouble没法直接把int转成double?
Double.parseDouble()的参数只能是字符串类型,它的功能是把像"123"这种字符串格式的数字解析成double值。如果你直接传int变量(比如int num = 10; Double.parseDouble(num)),编译器会直接报错——因为根本没有接受int参数的parseDouble重载方法。- 你用
new Double()能成,是因为Double类的构造方法有重载:Double(int value),它会直接把int值包装成Double对象,后续还能自动拆箱成基本类型double。不过现在更推荐用Double.valueOf(int),它会复用缓存的对象,比直接new更高效。 - 要是非得用parseDouble来转int,得先把int转成字符串,比如
Double.parseDouble(String.valueOf(yourInt)),这样就能正常解析了。
内容的提问来源于stack exchange,提问作者Nedunseraladhan
相关产品推荐
相关产品推荐

