Java包装类简介

Java包装类简介

Java是一种强类型语言,一种总是强制类型定义的语言,要求变量的使用要严格符合定义,所有变量都必须先定义后使用,因此必须为每一个变量声明一种类型。在Java中,一共有8种基本数据类型,其中有四种整型(int,short,long,byte)、两种浮点类型(float,double)、1种用于表示Unicode编码的字符单元的字符类型char和一种用于表示真值(布尔值)的boolean类型。但在实际使用中我们常常需要将int型这样的基本数据类型,转换成对象。例如在使用泛型程序设计时,我们需要指定一个类型参数用来指示元素的类型,但是这个类型参数必须使用引用类型(至于原因会在文章最后指出),即基本类型对应的对象。
`List<Integer> list=new ArrayList<>();`
这时我们就需要将基本数据类型转换为对应的对象包装器,每一个基本类型都有一个与之对应的类,这个类被称为包装器。对应关系如下:
  1. int : Integer
  2. long : Long
  3. float : Float
  4. double : Double
  5. short : Short
  6. byte : Byte
  7. char : Character
  8. boolean : Boolean
  9. 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是一个完全面向对象的语言,但唯一的例外可能就是基本类型了,因为对象是存放在堆中的,但是基本数据类型是创建一个并非是引用的“自动”变量。这个变量直接存储”值”,并置于堆栈中,因此更高效。可见,包装类其实比基本数据类型是更加面向对象的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值