Java作为面向对象语言,有人认为所看到的都是对象,事实上,在Java SE 5之前,基本类型默认并不是采用对象存在的如果您想要把基本类型作为对象来处理,就必须自行转换,不过,在Java SE 5之后,为基本数据类型提供了自动装箱和拆箱功能,使得将基本类型转换为对象变得极其便捷。
- 在这里来捋一捋java的基本数据类型,不理不要紧,一理才发现俺也掌握的不是那么明确,在这里俺也再次学习下
- 总计有八个,分别是
- byte字节型(一个字节),char字符型(两个字节),short短整型(两个字节),int整型(四个字节),
- long长整型(八个字节),float浮点型(四个字节),double 双精度浮点型(八个字节),boolean型(一个字节)
|
在javase5之前,如果想要把基本数据类型作为对象来操作,就需要采用对应的对象,来把它们打包才行
现在虽然不用这样了,但其中也有一些要注意的地方,俺揪出来晒晒。
先说说类和对象,建立个概念吧先
- 类--可以认为是对象的设计图
- 对象--是按照设计图实现了的具体工具
- 先这么简单理解吧,如果真要扯开了说,那可是软件工程里面的一门专业课,我们有个概念就好
|
之所以要将基本类型数据打包成为对象,原因很简单,是因为对象可以携带更多的数据。
手动、自动装箱拆箱示例
Long,Integer,Double,Float,Boolean等等的类就是所谓的wrapper类,就跟wrapper这个单词所代表的意思一样,就是提供一个“包装,加壳”,把基本数据类型放在里面,来看代码,体会下先
- public class WrapperDemo{
- public staticvoid main(String[] args){
- int data1=21;
- int data2=24;
-
- Integer data1Wrapper = new Integer(data1);
- Integer data2Wrapper = new Integer(data2);
-
- System.out.println(data1/3);
-
- System.out.println(data1Wrapper.doubleValue()/3);
-
- System.out.println(data1Wrapper.compareTo(data2Wrapper));
- }
-
- }
|
图1-1 WrapperDemo的运行结果
通过上面的代码和运行结果,看到了将基本数据类型打包成为对象带来的好处了吧,别着急,这还只是javase5之前的做法,在javase5之后就已经支持自动装箱和拆箱了,在这,就不再单独写代码出来了,只写几个能说明问题的语句就可以了,相信很容易理解的。
- javase5之前,手动打包
- Integer data1 = new Integer(10);
- 事项将基本类型数据转换为对象
- javase5之后,支持自动打包
- Integer data1 = 10;
- 便可以实现将基本类型的数据转换为对象
- eg:
- 在上面的代码中,可以采用,可以直接进行两个基本数据类型的比较
- data1.compareTo(data2);
- 基本数据类型本身没有什么方法,当你运行之后会发现,它仍然可以正确运行,这就自动装箱和拆箱带来的好处
|