java 1.5 自动拆箱和装箱的注意事项

Posted 帅S俊

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 1.5 自动拆箱和装箱的注意事项相关的知识,希望对你有一定的参考价值。

背景

java1.5后引入了自动装箱和自动拆箱的概念

自动拆箱:将引用类型转化为基本数据类型

自动装箱:将基本数据类型装为引用类型

但是实际使用中,什么情况自动拆箱什么情况自动装箱呢?

自动装箱

Integer i = 100;   (调用Integer.valueOf(100))  这里存在一个缓存变量  -128~127 ,如果基本数据类型在此范围内,则使用缓存的对象,否则new Integer(number)

自动拆箱

//第一种情况
Integer i = 100;
int x = i;   (调用 i.initValue())
//第二种情况
Integer  i = 100;
int x = 100;
System.out.println(i == 100)

自动填坑

---------1-----------
Integer a = 100;
Integer b = 100;
a == b   //结果是true
----------2----------
Integer a = 200;
Integer b = 200;
a == b   //结果是false    包装类型的比较,用equals()
-----------3---------
Integer a = 200;
int b = 200;
a == b   //结果是true
-----------4---------
Integer a = 200;
int b = 200;
a.equals(b)   //结果是true
------------5--------
Long  a = 200;
int b = 200;
a.equals(b)   //结果是false   如果类型不同一定为false

 

以上是关于java 1.5 自动拆箱和装箱的注意事项的主要内容,如果未能解决你的问题,请参考以下文章

java拆箱和装箱

如何理解Java中的自动拆箱和自动装箱?

如何理解Java中的自动拆箱和自动装箱?

11自动拆箱和装箱

Java中的拆箱和装箱

Java中的拆箱和装箱