根据我的理解,ParseDouble函数的作用类似于:
Double parseDouble(String s) throws ... {
return new Double(Double.valueOf(s));
}
根据我的理解,ParseDouble函数的作用类似于:
Double parseDouble(String s) throws ... {
return new Double(Double.valueOf(s));
}
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());
}
取决于您想要double还是Double。虽然使用自动装箱,这并不重要。如果您正在进行非常密集的操作,则应避免在需要Doubles的地方使用doubles,以避免自动装箱开销。但是,它需要非常非常非常密集才能真正产生任何差异。
然而,我仍然建议根据所需结果使用正确的类型。
Double.valueOf(somePrimitiveDouble)
创建更多的开销吗?我几乎可以保证它不会有额外的开销。当你想要避免它时,是在另一个方向上:当你调用valueOf
得到一个Double,而你只需要一个原始类型时。那将是无意义的开销。 - Mark PetersparseDouble
返回一个 double 值
,valueOf 返回一个新的 Double 类型对象
。
简单易懂,
public static double parseDouble(String s) throws NumberFormatException
返回一个Java原始类型double
,而
public static Double valueOf(String s) throws NumberFormatException
返回一个用Double
包装的double值。
valueOf 返回一个 double,parseDouble 返回一个 Double。使用适合您需求的方法。
Double valueOf(String s) throws ... { return new Double(Double.parseDouble(s)); }