`
uule
  • 浏览: 6305421 次
  • 性别: Icon_minigender_1
  • 来自: 一片神奇的土地
社区版块
存档分类
最新评论

深入解析JAVA中的装箱与拆箱

 
阅读更多

地址:

https://www.cnblogs.com/dolphin0520/p/3780005.html

 

拆箱装箱的原理

Integer i = 10;  //装箱
int n = i;       //拆箱

 

装箱过程是通过调用包装器的valueOf方法(譬如Integer的valueOf(int))实现的,而拆箱过程是通过调用包装器的 xxxValue方法(譬如Integer的intValue())实现的

 

Integer、Short、Byte、Character、Long这几个类的valueOf方法的实现是类似的。

  值在-128到127之间用缓存,之外新建对象。

Double、Float的valueOf方法的实现是类似的。

  一直新建对象。

 

为什么Double类的valueOf方法会采用与Integer类的valueOf方法不同的实现。很简单:在某个范围内的整型数值的个数是有限的,而浮点数却不是。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics