![](/img/trans.png)
[英]What is the difference between Double.parseDouble(String) and Double.valueOf(String)?
[英]Whats the difference between Double.valueOf(String s) and Double.ParseDouble(String s)?
據我所知,ParseDouble函數就像這樣:
Double parseDouble(String s) throws ... {
return new Double(Double.valueOf(s));
}
邏輯是相同的,但Double.valueOf()的返回值返回一個堆分配的Double對象,其中parseDouble返回一個原始double。 您的代碼示例不太正確。 java源代碼如下:
public static double parseDouble(String s) throws NumberFormatException {
return FloatingDecimal.readJavaFormatString(s).doubleValue();
}
public static Double valueOf(String s) throws NumberFormatException {
return new Double(FloatingDecimal.readJavaFormatString(s).doubleValue());
}
取決於您是想要雙人還是雙人。 雖然有自動裝箱,但這並不重要。 如果你正在做一些非常密集的事情,那么你想避免在需要雙打的地方使用雙打以避免自動裝箱開銷。 但是,它需要非常,非常,非常密集,才能真正發揮作用。
但是,我仍然主張根據所需的結果使用合適的一個。
parseDouble
返回一個double value
,valueOf返回一個Double
類型的新object
。
簡單,
public static double parseDouble(String s) throws NumberFormatException
返回一個java原始double
,而
public static Double valueOf(String s) throws NumberFormatException
返回Double
的包裝 double值。
valueOf返回一個double,parseDouble返回一個Double。 使用適合您需求的任何一種。
在Java 6中,情況恰恰相反:
Double valueOf(String s) throws ... { return new Double(Double.parseDouble(s)); }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.