我想將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