区别:
1.基本类型存储在栈里,包装类型存储在堆里。因为栈的效率更高。
2.包装类是对象,拥有方法和字段,对象的调用是引用对象的地址。
3.基本类型是值传递,包装类是引用传递(即地址值的传递)。
4.向ArrayList,LinkedList中放数据的时候,只能放Object类型的,基本类型放不进去。
5.包装类是不能被继承的,因为被final修饰
有了基本类型为什么还要有包装类?
为了让基本类型也具有对象的特征,就出现了包装类型,它相当于将基本类型“包装起来”,使得Java具有了对象的性质,并且为其添加了属性和方法,丰富了基本类型的操作,方便涉及到对象的操作。
基本类型的存在意义和包装类存在的意义
----基本类型存储在栈里,因为栈的效率高,所以保留了基本类型。
----变量的值存储在栈中,方法执行时创建,结束时销毁,因此更加高效。
int Integer
long Long
float Float
double Double
short Short
byte Byte
char ----Character
boolean Boolean
关于==(双等号)比较
------对于基本数据类型,(双等号)比较的是值,而对于包装类型,(双等号)比较的则是2个对象的内存地址。
-------如果包装类和基本类型比较时,将包装类拆箱后,再进行基本类型的值比较。
关于equals
------两个包装类比较时,是比较的是包装类型的基本类型的值
------包装类和基本类型比较时,基本类型自动装箱后,再比较基本类型的值。
--------------equal是方法比较的是真正的值。
--------------------->>>>>>>>>内存模型需要研究一下