java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > Double.parseDouble()与Double.valueOf()区别

Double.parseDouble()与Double.valueOf()的区别及说明

作者:山鬼谣me

这篇文章主要介绍了Double.parseDouble()与Double.valueOf()的区别及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

Double.parseDouble()与Double.valueOf()区别

        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

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文