您的位置:首页 > 编程语言 > Java开发

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 语言