首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Double.parseDouble(字符串)和Double.valueOf(字符串)有什么区别?

Double.parseDouble(字符串)和Double.valueOf(字符串)有什么区别?
EN

Stack Overflow用户
提问于 2012-05-14 12:46:32
回答 4查看 262.7K关注 0票数 67

我想将String转换为Double数据类型。我不知道应该使用parseDouble还是valueOf

这两种方法有什么不同?

EN

回答 4

Stack Overflow用户

发布于 2014-06-25 14:20:30

parseDouble()方法用于初始化字符串(应该包含一些数值),它返回的浮点值是原始数据类型,如....the、....the等。

但是valueOf()创建了一个包装器类的对象。你必须解开它才能得到双精度的值。它可以比作巧克力。制造商用锡纸或纸把巧克力包起来以防污染。用户拿起巧克力,取出并扔掉包装纸,然后吃掉它。

观察以下转换。

int k = 100; Integer it1 = new Integer(k);

使用Integer类将int数据类型k转换为对象it1。在需要k作为对象的任何地方,都可以在Java编程中使用it1对象。

下面的代码可以用来解开(从Integer对象取回int )对象it1。

代码语言:javascript
复制
int m = it1.intValue();

System.out.println(m*m);//打印10000

//intValue()是Integer类的方法,返回int数据类型。

票数 2
EN

Stack Overflow用户

发布于 2012-05-14 14:30:42

它们都将字符串转换为double值,但是parseDouble()方法返回原始double值时,valueOf()方法进一步将原始double转换为包含原始Double值的double包装器类对象。

如果字符串中的值不能转换为双精度原语,则从字符串到双精度原语的转换可能会抛出NFE(NumberFormatException)。

票数 1
EN

Stack Overflow用户

发布于 2012-05-14 12:49:15

parseDouble()的文档说“返回一个初始化为指定字符串所表示的值的新双精度值,正如double类的valueOf方法所执行的那样。”,因此它们应该是相同的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10577610

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档