什么是Double.valueOf(String s)和Double.ParseDouble(String s)之间的区别?

oyo*_*oyo 15 java

据我所知,ParseDouble函数就像这样:

 Double parseDouble(String s) throws ... {       
      return new Double(Double.valueOf(s));
 }
Run Code Online (Sandbox Code Playgroud)

Mic*_*ker 20

逻辑是相同的,但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());
}
Run Code Online (Sandbox Code Playgroud)

  • thx,所以当你只需要这个值时,parseDouble(String s)的成本会降低,而不是所有附加的方法...... (2认同)