![](/img/trans.png)
[英]Whats the difference between Double.valueOf(String s) and Double.ParseDouble(String s)?
[英]What is the difference between Double.parseDouble(String) and Double.valueOf(String)?
我想将String
转换为Double
数据类型。 我不知道是否应该使用parseDouble
或valueOf
。
这两种方法有什么区别?
parseDouble
返回包含字符串值的原始double:
返回一个初始化为由指定String表示的值的新double,由double类的valueOf方法执行。
valueOf
返回一个Double实例,如果已经缓存,您将获得相同的缓存实例。
返回表示指定double值的Double实例。 如果不需要新的Double实例,通常应优先使用此方法,而不是构造函数Double(double),因为此方法可能通过缓存频繁请求的值来显着提高空间和时间性能。
为避免创建新Double对象实例的开销,通常应使用valueOf
Double.parseDouble(String)
将返回一个原始的double
类型。 Double.valueOf(String)
将返回Double
类型的包装器对象。
所以,对于例如:
double d = Double.parseDouble("1");
Double d = Double.valueOf("1");
而且, valueOf(...)
是一个重载方法。 它有两个变种:
而parseDouble
是具有以下签名的单个方法:
它们都将String转换为double值,但是当parseDouble()方法返回原始double值时,valueOf()方法进一步将原始double转换为包含原始double值的Double包装类对象。
如果String中的值不可转换为基本double,则从String到primitive double的转换可能会抛出NFE(NumberFormatException)。
parseDouble()方法用于初始化STRING(应该包含一些数值)....它返回的值是原始数据类型,如int,float等。
但是valueOf()创建了一个Wrapper类的对象。 您必须打开它才能获得double值。 它可以与巧克力进行比较。 制造商用一些箔或纸包裹巧克力以防止污染。 用户拿出巧克力,移除并扔掉包装并吃掉它。
请注意以下转换。
int k = 100; Integer it1 = new Integer(k);
int数据类型k使用Integer类转换为对象it1。 it1对象可以在Java编程中用于需要k的对象。
以下代码可用于解包(从Integer对象返回int)对象it1。
int m = it1.intValue();
的System.out.println(M * M); //打印10000
// intValue()是一个Integer类的方法,它返回一个int数据类型。
parseDouble()
文档说“返回一个初始化为由指定String表示的值的新double,由double类的valueOf方法执行。”因此它们应该是相同的。
如果要将字符串转换为double数据类型,则大多数选择parseDouble()方法。 请参阅示例代码:
String str = "123.67";
double d = parseDouble(str);
您将获得双倍的值。 请参阅tutorialData上的StringToDouble 教程 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.