美文网首页
Java 自动装箱与拆箱

Java 自动装箱与拆箱

作者: 铜雀春深锁不住 | 来源:发表于2017-07-09 11:14 被阅读0次

1 .boxing and unboxing

boxing and unboxing

2 . An example for boxing  and unboxing

boxing and unboxing

3 .When autoboxing happen?

  当原始数据类型被当做参数传到了一个参数要求是包装类的方法里

  当原始数据被赋值给包装类对象

EXAMPLE 1

4 .When unboxing happen?

  当包装类被当做参数传到了一个参数要求是原始类型的方法里

  当包装类被赋值给原始数据类型

EXAMPLE 2

     上面程序打印结果:

     absolute value of -8 = 8

    pi = 3.1416

5 .Some things we need care about

Integer是对象类型,可以为null,如果这个时候拆箱,会报NullPointerException异常

Integer a,b,a==b比较的是a,b的引用,而不是值。但是由于Integer默认在-128到127之间有缓存(详见Integer源码),所以在这个区间使用==和equals的结果一样。

自动装箱与拆箱有性能损耗,只有在包装类和基本类型之间出现“阻抗不匹配(impedance mismatch)”时才使用,如,当需要将一个数值放到集合里面时。对性能要求很严格的地方谨慎使用。

原始数据类型和包装类之间的界限很模糊(blur),但谁都不能消灭(eliminate)对方。

链接:http://www.jianshu.com/p/eaf5eef18007

來源:简书

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

相关文章

网友评论

      本文标题:Java 自动装箱与拆箱

      本文链接:https://www.haomeiwen.com/subject/mlyshxtx.html