我想将String
转换为Double
数据类型。我不知道我是否应该使用parseDouble
或valueOf
。Double.parseDouble(String)和Double.valueOf(String)有什么区别?
这两种方法有什么区别?
我想将String
转换为Double
数据类型。我不知道我是否应该使用parseDouble
或valueOf
。Double.parseDouble(String)和Double.valueOf(String)有什么区别?
这两种方法有什么区别?
parseDouble
返回字符串的一个基本的double包含值:
返回一个新的双初始化为指定String表示的值,如由类Double的valueOf方法。
valueOf
返回Double实例,如果已经被缓存,则会得到相同的缓存实例。
返回Double实例,表示指定的double值。如果 不需要新的Double实例,则此方法通常应优先于构造方法Double(double)使用 ,因为此方法 可能通过 高速缓存频繁请求的值而产生显着更好的空间和时间性能。
要避免建立新的Double对象实例的开销,你应该正常使用valueOf
+1'valueOf()'方法家族是首选,因为这个原因... –
正如你所说我认为parseDouble()是首选。为什么要使用valueOf()? – breceivemail
编辑不是我的,并且无效,我会将其回滚 – MByD
parseDouble()
的文档说:“返回一个新的double,初始化为由指定的String表示的值,由double类的valueOf方法执行”,因此它们应该是相同的。
如果你想将字符串转换为双数据类型则大多选择parseDouble()方法。 见示例代码:
String str = "123.67";
double d = parseDouble(str);
您将获得双倍的价值。请参阅tutorialData上的StringToDouble教程。
那么valueOf()方法呢? – breceivemail
返回一个Double对象,它包含由参数字符串s表示的double值。 – Rajshri
Double.parseDouble(String)
将返回原型double
类型。 Double.valueOf(String)
将返回类型为Double
的包装对象。
因此,对于例如为:
double d = Double.parseDouble("1");
Double d = Double.valueOf("1");
此外,valueOf(...)
是一个重载方法。它有两个变种:
鉴于parseDouble
是一个单一的方法具有以下签名:
Ť hey都将字符串转换为double值,但是当parseDouble()方法返回原始double值时,valueOf()方法会进一步将该原语double转换为包含原始double值的Double包装类对象。
如果String中的值不能转换为基元double,则从String到primitive double的转换可能会抛出NFE(NumberFormatException)。
parseDouble()方法被用于初始化一个STRING(应含有一些数值)....它返回值是原始数据类型,如整数,浮点等等
但是的valueOf( )创建一个Wrapper类的对象。你必须打开它才能获得双倍的价值。它可以与巧克力相比。制造商用巧克力箔或纸包裹巧克力以防止污染。使用者拿走巧克力,取出并抛出包装并吃掉。
请注意以下转换。
int k = 100; Integer it1 = new Integer(k);
int数据类型k被转换为使用整数类的对象,IT1。只要需要k对象,it1对象就可以在Java编程中使用。
以下代码可用于解包(从Integer对象获取int)对象it1。
int m = it1.intValue();
System.out.println(m * m); //打印10000
// intValue()是返回int数据类型的Integer类的方法。
[Double.valueOf(s)vs. Double.parseDouble](http://stackoverflow.com/questions/7255078/double-valueofs-vs-double-parsedouble) –
此链接已关闭,因为它是关闭的我的答案的副本:) – breceivemail