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

Double.parseDouble方法是把数字类型的字符串,转换成double类型

Double.valueOf方法是把数字类型的字符串,转换成Double类型

Double和double的区别
2.double是基本数据类型,不是一个类;Double是原始数据类型,是一个类,Object的一个子类
3.double没有方法,Double有自己的属性和方法
4.double只创建引用,Double创建对象
5.集合类不能存放double,只能存放Double
6.两者存放位置不同:

  • double存放在栈中
    栈的存取速度要高于堆,另外栈中的数据可以共享,不会创建对象,只会建立两个引用,同时指向变量“0”(栈数据共享)
    如:
  • double a = 0;
    double b = 0;
    //两个值是同一个栈中的 0,栈中没有两个0
    

    Double存放在堆中
    会创建两个对象,即使对象所代表的值一样(堆数据不共享)

  • 但是,Java中基本类型的包装类大都实现了常量池技术,即Byte,Short,Integer,Long,Character,Boolean。这几种包装类默认创建了数值[-128,127]的相应类型的缓存数据,但是超出此范围仍然会去创建新的对象。 两种浮点数类型的包装类Float、Double并没有实现常量池技术。
    如:

    Double a = new Double(0);
    Double b = new Double(0);
    //两个引用指向同一个对象,但如果超出[-128,127]这个范围,则每一个new都将创建新的对象
    

    总结:
    所以从效率来讲用double合适,而Double提供的属性和方法会使操作各种操作更加方便和灵活

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值