Java包装类简介
2016-07-20 01:48
267 查看
Java包装类简介
Java是一种强类型语言,一种总是强制类型定义的语言,要求变量的使用要严格符合定义,所有变量都必须先定义后使用,因此必须为每一个变量声明一种类型。在Java中,一共有8种基本数据类型,其中有四种整型(int,short,long,byte)、两种浮点类型(float,double)、1种用于表示Unicode编码的字符单元的字符类型char和一种用于表示真值(布尔值)的boolean类型。但在实际使用中我们常常需要将int型这样的基本数据类型,转换成对象。例如在使用泛型程序设计时,我们需要指定一个类型参数用来指示元素的类型,但是这个类型参数必须使用引用类型(至于原因会在文章最后指出),即基本类型对应的对象。 `List<Integer> list=new ArrayList<>();` 这时我们就需要将基本数据类型转换为对应的对象包装器,每一个基本类型都有一个与之对应的类,这个类被称为包装器。对应关系如下:
int : Integer
long : Long
float : Float
double : Double
short : Short
byte : Byte
char : Character
boolean : Boolean
void : Void
比如我们可以这样使用。
int a=123; Integer b=new Integer(123);
从Java SE5开始自动包装功能能自动地将基本类型转换为包装器类型,并且可以反向转换。
Integer a =123; int b=a;
而在这之前,我们需要对此进行显示的转换,否则编译器就会报错。
Integer a=123; int b=a.intValue();
至于为什么需要包装类,主要原因有两个:
1. 便于类型转换,防止类型强转时发生异常和错误。
2. 在某些需要传入Object类型的参数时,需要传入基本类型对应的包装类型。
因为Java是一个完全面向对象的语言,但唯一的例外可能就是基本类型了,因为对象是存放在堆中的,但是基本数据类型是创建一个并非是引用的“自动”变量。这个变量直接存储”值”,并置于堆栈中,因此更高效。可见,包装类其实比基本数据类型是更加面向对象的。
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树