@包装类
Java的包装类
java是面对对象的语言。而基本数据类型不是对象,但是大多时候是需要对象类型的数据,为了解决这个问题,由此引入了包装类。包装类都在java.lang包中。
1.为什么需要包装类?
1.某些方法的参数必须是对象,为了让基本数据类型的数据能作为参数,提供包装类。
2.包装类可以提供更多的功能。
3.其他特别重要的功能:比如可以实现字符串和基本数据类型之间的转换。
2.包装类和基本类型的区别
1.包装类要new,并且存储在堆中,而在栈中只是存储了堆中存储的地址。而基本类型在使用的时候是直接存储在栈中。
2.包装类在没有给初始值的时候都赋值null,但是基本类型根据根本类型的给相应的初始值。
3.泛型中可以用包装类型,不能用基本类型。
4.包装类型的比较要用equals,基本类型可以直接用==。
3.包装类的使用
自动装箱和自动拆箱
自动装箱和自动拆箱就是将基本数据类型和包装类之间进行自动的互相转换。在JDK1.5之后,java才引入自动装箱和拆箱。
自动装箱
基本类型的数据处于需要对象的环境中时会自动转为对象。
****自动装箱调用的不是new Integer(int),而是调用Integer.valueof(int);
自动拆箱
每当需要一个值时,对象会自动转为基本数据类型,没必要再去显式调用intValue().doubleValue等转型方法。