Double.parseDouble()与Double.valueOf()的区别及说明
作者:山鬼谣me
这篇文章主要介绍了Double.parseDouble()与Double.valueOf()的区别及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
Double.parseDouble()与Double.valueOf()区别
- Double.parseDouble方法是把数字类型的字符串,转换成double类型
- Double.valueOf方法是把数字类型的字符串,转换成Double类型
double a = 0.009; String b = "1993"; double parseDouble = Double.parseDouble(b); System.out.println(parseDouble); Double valueOf = Double.valueOf(a); Double valueOf2 = Double.valueOf(b); //1993.0 System.out.println(valueOf);//0.009 System.out.println(valueOf2);//1993.0
结果是:
1993.0
0.009
1993.0
可以看出大体是没有任何区别,就是返回值的类型区别!
Double.parseDouble()方法的源码
public static double parseDouble(String s) throws NumberFormatException { return FloatingDecimal.readJavaFormatString(s).doubleValue(); }
Double.valueOf()方法的源码
public static Double valueOf(String s) throws NumberFormatException { return new Double(FloatingDecimal.readJavaFormatString(s).doubleValue()); }
valueOf方法在返回的时候new Double(),所以返回的是Double。
Double.valueOf容易出现的问题
String a = "100"; String b = "100"; System.out.println(Double.valueOf(a)==Double.valueOf(b));//false System.out.println(Double.parseDouble(a)==Double.parseDouble(b));//true
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。