在某些特定的场合下,不允许直接使用原始数据类型的情况下。
包装类就是可以将特定的原始数据类型转化为引用数据类型。
对应于八个原始数据类型,java.lang包提供了八个包装类
java.lang.Integer int
java.lang.Float float
java.lang.Character char
java.lang.Short short
java.lang.Long long
java.lang.Double doubel
java.lang.Byte byte
java.lang.Boolean boolean
int number = 10; //原始
Integer num = new Integer(10) //引用
八个包装类都提供类似的构造方法,可以利用对应的原始数据类型值来构造一个对应的包装类对象。
每个包装类中都封装了与对应数据类型相关的一系列方法。
任何一个数据在编程过程中,一般来讲都有三种表现形式。
以整数为例
基本数据类型 int number = 120;
引用数据类型 Integer num = new Integer(120);
字符串形式 String str = "120";
问题:
如何在这三种表现形式中进行转化
1. 原始数据类型转化为引用数据类型 装箱
int number = 120;
Integer num = new Integer(number);
float x = 3.14f;
Float y = new Float(x);
说明:
八个包装类都提供了构造方法,可以利用对应的原始数据类型值来构造一个对应的包装类对象。
2. 引用数据类型还原成原始数据类型 拆箱
Integer num = new Integer(120);
int number = num.intValue(); //调用Integer类中的intValue方法,来返回它的整数值
Float x = new Float(3.14f);
float y = x.floatValue(); //调用Float类中的floatValue方法,来返回它的浮点数值
说明:
每个包装类中都提供一个命名类似于xxxValue的成员方法,来返回与之对应的原始数据类型值,这里的xxx与数据类型相关。
3. 字符串转化为原始数据类型 重点
String str = "123";
int number = Integer.parseInt(str);
String str = "3.775";
float x = Float.parseFloat(str);
说明:
每个包装类都提供一个静态的(为什么要定义静态,自己想一想)命名类似于parseXxx的方法,用于将字符串转化为对应的原始数据类型值。注:如果字符串不合法,报异常。
4. 字符串转化为引用数据类型
//可以先把字符串转为原始,将原始进行装箱。
String str = "123";
Integer num = Integer.valueOf(str);
String str1 = "3.775";
Float y = Float.valueOf(str1);
说明:
每个包装类都提供一个静态的valueOf方法,用于将字符串转化为对应的包装类对象。
5. 原始数据类型转化字符串
int num = 120;
String str = num + "";
float x = 3.14f;
String str = "" + x;
说明:
任何原始数据类型的值与""相加,都将得到字符串。System.out.println()中的字符串拼接就是同样的原理。
6. 引用数据转化为字符串
Integer num = new Integer(120);
String str = num.toString();
Float x = new Float(3.775f);
String str1 = x.toString();
说明:
每个包装类中都提供了一个toString的成员方法,用于将当前包装类对象的值转化为字符串。
包装类就是可以将特定的原始数据类型转化为引用数据类型。
对应于八个原始数据类型,java.lang包提供了八个包装类
java.lang.Integer int
java.lang.Float float
java.lang.Character char
java.lang.Short short
java.lang.Long long
java.lang.Double doubel
java.lang.Byte byte
java.lang.Boolean boolean
int number = 10; //原始
Integer num = new Integer(10) //引用
八个包装类都提供类似的构造方法,可以利用对应的原始数据类型值来构造一个对应的包装类对象。
每个包装类中都封装了与对应数据类型相关的一系列方法。
任何一个数据在编程过程中,一般来讲都有三种表现形式。
以整数为例
基本数据类型 int number = 120;
引用数据类型 Integer num = new Integer(120);
字符串形式 String str = "120";
问题:
如何在这三种表现形式中进行转化
1. 原始数据类型转化为引用数据类型 装箱
int number = 120;
Integer num = new Integer(number);
float x = 3.14f;
Float y = new Float(x);
说明:
八个包装类都提供了构造方法,可以利用对应的原始数据类型值来构造一个对应的包装类对象。
2. 引用数据类型还原成原始数据类型 拆箱
Integer num = new Integer(120);
int number = num.intValue(); //调用Integer类中的intValue方法,来返回它的整数值
Float x = new Float(3.14f);
float y = x.floatValue(); //调用Float类中的floatValue方法,来返回它的浮点数值
说明:
每个包装类中都提供一个命名类似于xxxValue的成员方法,来返回与之对应的原始数据类型值,这里的xxx与数据类型相关。
3. 字符串转化为原始数据类型 重点
String str = "123";
int number = Integer.parseInt(str);
String str = "3.775";
float x = Float.parseFloat(str);
说明:
每个包装类都提供一个静态的(为什么要定义静态,自己想一想)命名类似于parseXxx的方法,用于将字符串转化为对应的原始数据类型值。注:如果字符串不合法,报异常。
4. 字符串转化为引用数据类型
//可以先把字符串转为原始,将原始进行装箱。
String str = "123";
Integer num = Integer.valueOf(str);
String str1 = "3.775";
Float y = Float.valueOf(str1);
说明:
每个包装类都提供一个静态的valueOf方法,用于将字符串转化为对应的包装类对象。
5. 原始数据类型转化字符串
int num = 120;
String str = num + "";
float x = 3.14f;
String str = "" + x;
说明:
任何原始数据类型的值与""相加,都将得到字符串。System.out.println()中的字符串拼接就是同样的原理。
6. 引用数据转化为字符串
Integer num = new Integer(120);
String str = num.toString();
Float x = new Float(3.775f);
String str1 = x.toString();
说明:
每个包装类中都提供了一个toString的成员方法,用于将当前包装类对象的值转化为字符串。