包装类

2016-11-15  本文已影响0人  圆月不再

[TOC]

包装类的存在意义

各个基本数据类型对应的包装类

基本数据类型 包装类 继承关系
byte Byte Number--Object
short Short Number--Object
int Integer Number--Object
long Long Number--Object
float Float Number--Object
double Double Number--Object
char Charactor Object
boolean Boolean Object

可以看出,除了char和boolean两个基本数据类型对应的包装类是Object类的子类,其余也间接继承自Object类

包装类举例--Integer

基本属性

MAX_VALUE:范围最大值
MIN_VALUE:范围最小值

转换(int、String-->Integer)

通过构造器

可以直接通过有参构造器将基本数据类型转换成对一个的包装类:

Integer i1 = new Integer(12);//int-->Integer
Integer i0 = Integer.valueOf(12);//int-->Integer
Integer i2 = new Integer("12");//String-->Integer

自动装箱

//int-->Integer
Integer i3 = 12;
Integer i4 = new Integer(23);

自动拆箱

//Integer-->int
int num = i4;

方法

compareTo()

Integer i5 = new Integer(66);
Integer i6 = new Integer(35);
System.out.println(i5.compareTo(i6));//(x<y)?-1:((x == y)? 0 : 1)

toString()、==、equals

Integer i7 = new Integer(66);
Integer i8 = new Integer(66);
System.out.println(i7);//输出:66
System.out.println(i7 == i8);//true
System.out.println(i7.equals(i8));//true

特别需要注意的是。从JDK1.5之后,对于自动装箱的包装类来说,如果表述范围在-128~127之间,==比较的就是具体的数值。而超出范围之后,就会在堆中给它开辟空间。

Integer i9 = 129;
Integer i10 = 129;
System.out.println(i9 == i10);//false
System.out.println(i9.equals(i10));//true

转换(Integer、String-->int)

Integer-->int

Integer i11 = 13;
int num2 = i13.intValue();
System.out.println(num2);//输出:13

String-->int

int num3 = Integer.parseInt("123");
System.out.println(num3);//输出:123

以上是Integer的相关内容举例,其它几个包装类的特性都大同小异,就不再赘述了。

上一篇 下一篇

猜你喜欢

热点阅读