黑马程序员-基本数据类型与其封装类型
------- android培训、java培训、期待与您交流! ----------
对应的关系如下:
byte------Byte;
short------Short;
int------Integet;
long------Long;
float------Float;
double------Double;
boolean------Boolean;
char------Character
基本类型的值转化成封装类对象时,有两种方法:
1 直接用new方法创建封装类对象,参数为基本类型的值。
2 使用封装类的valueOf静态方法,参数为基本类型的值,返回封装类对象。
引用类型和原始类型的行为
完全不同,并且它们具有不同的语义。引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储
,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为 null,而原始类型实例变量的缺省值与它们的类型有关。
基本数据类型与封装类的转换
整型的转换
01.int i1 = 3;
02.Integer in = new Integer(i1);
03.int j1 = in.intValue();
字符型的转换
01.char i2 = 3;
02.Character ct = new Character(i2);
03.char j2 = ct.charValue();
相应封装类和String类型的转换
1 转换成字符串:
01.int i4 = 3;
02.Integer in2 = Integer(i2);
03.String str = in2.toString();
2 字符串转换成封装类对象:
01.String str="123";
02.System.out.println(Integer.valueOf(str));
基本数据类型与String的转换:
1 基本数据类型转换成String类型:
采用封装类对象的toString()方法
01.int i = 3;
02.String str1 = Integer.toString(i);
2 String类型转换成基本数据类型:
采用封装类对象的parseInt()方法
01.String str = "345";
02.int i1 = Integer.parseInt(str);
原始类型与封装类的区别
以Integer和int为例
Integer是int的封装类,里面有很多进行处理的静态方法
Integer是对象而int不是,内存的分配位置也不一样
int是一种基本数据类型,而Integer是相应于int的类类型,称为对象包装。
实现这种对象包装的目的主要是因为类能够提供必要的方法,用于实现基本数据类型的数值与可打印字符串之间的转换,以及一些其他的实用程序方法;
另外,有些数据结构库类只能操作对象,而不支持基本数据类型的变量,包装类提供一种便利的方式,能够把基本数据类型转换成等价的对象,从而可以利用数据结构库类进行处理。
从JDK1.5以后提供了自动拆装箱功能
基本类型和对应的封装类自动转换(自动拆装箱)
如:
int i = new Integer(1);
Integer k = 2;
Jdk1.5以后这样写是正确的
------- android培训、java培训、期待与您交流! ----------