Java语言8种基本数据类型能够适应对象中属性的封装,但是这些基本数据不具备对象的特性,不能满足一些比较特殊的数据转换,比如double类型转换成int类型。
并且,Java中很多类的方法参数类型为为Object类型,其接收的参数也必须是对象。如果8种基本数据类型要转变成Object类型,必须要用到对应的包装类。
一. 包装类的定义
所谓的包装类,是指final类型定义的不可变的类。包装类在对象创建后,它包含的基本数据类型就不能再继续进行改变。
二.包装类对应的8种基本数据类型
根据上图,我们可以看到每一个基本数据类型对应的包装类,除了int类型和char类型,其它的基本数据类型对应的包装类都是首字母大写开头。
8种基本数据类型变换成包装类的基本使用方法如下:
根据上面的代码,我们可以看到其数据类型在转换成包装类的过程中,先要有初始的基本数据变量或者具体的值,再通过包装类来new一个对象,从而能够获取其包装类的变量值。
我们在看下包装类实例后,其变量的值输出结果:
很明显,控制台中的基本数据的变量值在转换的过程中,能够让其值在包装类产生对象实例的变量中进行传递,不会发生改变。
三.基本数据类型转换为包装类的实现原理
由于8种基本数据类型的转换包装类的案例较多,我现在主要以int类型转化为包装类的例子来进行主要讲解。
1.确定传参类型和数量
int i = 10;Integer in = new Integer(i);
在上面的代码块中,我们可以看到包装类Integer在生成对象的实例过程中,它通过构造方法来实现其类型转换,而且只转换一个int基本数据类型的变量。
2.包装类中定义方法进行调用
包装类Integer之所以能够让数据类型int进行转换,主要是Integer的源码文件Integer.class中已经提供其构造方法和传值的类型、传值的修饰声明。
可以很清楚的看到,Integer这个类在class文件中添加了传递int类型的Integer构造方法,而且私有的int值被final关键字修饰后,其Integer对象生成的变量值也不会发生改变。
结语
Java语言中的包装类可转换基本数据类型,为后期编程操作中调用对象的方法和属性提供便利,保证基本数据类型传值的有效性。当然,基本数据类型转换为包装类除了能用构造方法实现,其字符串形式转换也可以实现,我会在下一章内容为大家进行详细讲解。