Double.parseDouble(string)和Double.valueOf(string)有什么区别?
我想将String
转换为Double
数据types。 我不知道是否应该使用parseDouble
或valueOf
方法?
这些与方法有什么区别?
parseDouble
返回一个包含string值的原始double:
返回一个新的double,由类Double的valueOf方法执行,初始化为由指定的String表示的值。
valueOf
返回一个Double实例,如果已经被caching了,你会得到相同的caching实例。
返回一个Double实例,表示指定的double值。 如果不需要新的Double实例,则通常应该优先使用此方法(优先于构造函数Double(double)),因为此方法通过caching频繁请求的值可能会产生显着更好的空间和时间性能。
为了避免创build新的Double对象实例的开销,通常应该使用valueOf
Double.parseDouble(String s)
将返回一个原始的doubletypes。 Double.valueOf(String s)
将返回Double
types的Wrapper Object
。
所以,例如。
double d = Double.parseDouble("1"); Double d = Double.valueOf("1");
Morover, valueOf(
)是一个重载的方法。 它有两个变体:
-
Double valueOf(String s)
-
Double valueOf(Double d)
作为
parseDouble
是具有以下签名的单个方法: -
double parseDouble(String s)
它们都将string转换为double值,但是当parseDouble()方法返回原始double值时,valueOf()方法进一步将double转换为包含原始double值的Double包装类对象。
如果String中的值不能转换为基元double,则从String到primitive double的转换可能会抛出NFE(NumberFormatException)。
parseDouble()方法用来初始化一个STRING(它应该包含一些数值)….它返回的值是原始数据types,如int,float等。
但是valueOf()创build了一个Wrapper类的对象。 你必须打开它才能获得双重价值。 它可以与巧克力相比。 制造商用巧克力箔或纸包好巧克力,以免污染。 用户拿起巧克力,取出并扔出包装物并吃掉。
观察下面的转换。
int k = 100; Integer it1 = new Integer(k);
int数据typesk使用Integer类转换为一个对象it1。 只要需要k对象,就可以在Java编程中使用it1对象。
下面的代码可以用来解开(从Integer对象中取回int)对象it1。
int m = it1.intValue();
的System.out.println(M * M); //打印10000
// intValue()是返回一个int数据types的Integer类的一个方法。
文档parseDouble()
说:“返回一个新的double,初始化为由指定的String表示的值,由double类的valueOf方法执行”,所以它们应该是相同的。
如果要将string转换为double数据types,那么大多数selectparseDouble()方法。 看示例代码:
String str = "123.67"; double d = parseDouble(str);
你会得到双倍的价值。 请参阅tutorialData的StringToDouble 教程 。