包装类把基本数据类型转换为对象
每个基本类型在Java.lang包中都有一个相应的包装类
包装类的作用
提供了一系列实用的方法
集合不允许存放基本数据类型数据,存放数字时,要用包装类
基本数据类型所对应的包装类

* @Description//包装类及其构造方法
*/
public class Test {
public static void main(String[] args) {
//基本数据类型-->包装类 特殊的:int--Integer char--Character,其他的几个都是首字母变大写
int i=9;
System.out.println(i);
double d=9.8;
char c='c';
float f=9.8f;
boolean b=true;
//引用数据类型(JDK提供的引用类型-如String、自定义的数据类型、数组)
Scanner input=new Scanner(System.in);
input.next();
//包装类的两个作用,使用相应的方法:如集合无法存放基本数据类型,基本数据类型->包装类,放进去
List list=new ArrayList();
//list.add(Object);
}
}
所有包装类都可将与之对应的基本数据类型作为参数,来构造它们的实例
public Type(type value)
如:Integer i=new Integer(1);
除Character类外,其他包装类可将一个字符串作为参数构造它们的实例
public Type(String value)
如:Integer i=new Integer("123");
* @Description//包装类及其构造方法
*/
public class Test {
public static void main(String[] args) {
//包装类的构造方法:
//(1)以每个包装类对应的基本数据类型作为参数
//基本数据类型-->包装类
int iNum=9;
Integer i=new Integer(iNum);
double dNum=9.8;
Double d=new Double(dNum);
char cNum='c';
Character c=new Character(cNum);
float fNum=9.8f;
Float f=new Float(fNum);
boolean bNum=true;
Boolean b=new Boolean(bNum);
//(2)除Character以外,以字符串作为参数
//当Number类型的包装类构造方法参数为字符串时,字符串必须是能转换为Number的字符串,否则会NumberFormatException
//且字符串不能为null
Integer i2= new Integer("123");
System.out.println(i2+1);//124,并非1231
// Integer i3= new Integer("love");
// System.out.println(i3);//NumberFormatException
// Integer i4= new Integer("null");
// System.out.println(i4);//NumberFormatException
// Integer i5= new Integer(null);
// System.out.println(i5);//NumberFormatException
Double d2=new Double("87.9");
System.out.println(d2+1);//88.9,并非87.91
Float f2=new Float("9.8");
System.out.println(f2+1);//10.8
// Boolean类构造方法参数为String类型时,若该字符串内容为true(不考虑大小写),则该Boolean对象表示true,否则表示为false
// Boolean b2=new Boolean("true");
// Boolean b2=new Boolean("TrUe");
// Boolean b2=new Boolean("false");
Boolean b2=new Boolean("love");
System.out.println(b2);
//Character没有带字符串作为参数的构造方法,如下写法编译不通过
// Character c2=new Character("a");
}
}
包装类把基本数据类型转换为对象
包装类的两种构造方法
参数为基本数据类型
参数为字符串
包装类的常用方法:
XXXValue():包装类转换成基本类型

toString():以字符串形式返回包装对象表示的基本数据类型(基本类型-->字符出)
parseXXX():把字符串转换为相应的基本数据类型数据(Character除外)(字符串->基本类型)
valueOf():
所有包装类都有如下方法:(基本类型-->包装类)
public static Type valueOf(type value)
如:Integer inValue=Integer.valueOf(21);
除Character类外,其他包装类都有如下方法(字符串-->包装类)
public static Type valueOf(String s)
如: Integer inValue=Integer.valueOf("21");
代码演示:
* @Description//包装类的常用方法
*/
public class Test {
public static void main(String[] args) {
//XXXValue():包装类-->基本数据类型
Integer i=new Integer(100);
int iNum=i.intValue();
Boolean b=new Boolean(true);
boolean b2=b.booleanValue();
//toString():基本数据类型-->字符串
int num=100;
String sNum=Integer.toString(num);
boolean b3=true;
String s=Boolean.toString(b3);
//常用方法:基本数据类型-->字符串,比上面的toString()更常用
String sNum2=100+"";
String s2=true+"";
//parseXXX():字符串->基本数据类型,除Character以外(常用)
String age="18";
int ageNum=Integer.parseInt(age);
String score="98.3";
double score2=Double.parseDouble(score);
//编译报错,Character不存在这个parseXXX()方法
// String sex="女";
// char cSex=Character.parseChar(sex);
//valueOf(基本数据类型):基本数据类型->包装类
int j=90;
Integer j1=Integer.valueOf(j);
char sex='男';
Character cSex=Character.valueOf(sex);
//valueOf(字符串):字符串->包装类,除Character以外
//注意事项一:当包装类为Number时,参数字符串必须为数字兼容的字符串,否则会NumberFormatException
String m="123";
Integer mi=Integer.valueOf(m);
System.out.println("***********");
// String m1="love";
// Integer mi1=Integer.valueOf(m1);
//注意事项二:当Boolean调用valueOf(字符串)时,除了参数内容为true(不区分大小写),其他都转化为false
System.out.println("***********");
// String flags="true";
// String flags="TrUe";
// String flags="false";
String flags="china";
Boolean bFlag=Boolean.valueOf(flags);
System.out.println(bFlag);
//编译报错,因为Character不存在这个valueOf(字符串)方法
// String gender="男";
// Character gender2=Character.valueOf(gender);
}
}
装箱和拆箱
基本类型和包装类的自动转换
Integer intObject=5;
int intValue=intObject;
装箱:基本类型转换为包装类的对象
拆箱:包装类对象转换为基本类型的值
* @Description//装箱和拆箱
*/
public class Test {
public static void main(String[] args) {
//包装类-->基本数据类型 自动转换-->拆箱
Integer i=new Integer(100);
// int iNum=i.intValue();
int iNum=i;//拆箱
System.out.println(iNum);
//基本数据类型-->包装类 自动转换-->装箱
int j=90;
Integer j1=j;
// Integer j1=Integer.valueOf(j);
System.out.println(j1);//装箱
//集合中只能存储包装类型,不能存基本类型
// List list=new ArrayList();
// int num=100;
// Integer numInteger=new Integer(num);
// list.add(numInteger);
List list=new ArrayList();
list.add(100);//int 100-->装箱 Integer
}
}
包装类并不是用来取代基本数据类型的,在基本数据类型需要用对象表示时使用
本文详细介绍了Java中的包装类,包括它们的作用、构造方法(基本类型转对象和字符串转对象)、常用方法(如Value()、toString()和parseXXX()),以及装箱与拆箱的概念。重点讲解了如何在集合中使用包装类,并展示了如何进行类型转换和操作包装类对象。
1178

被折叠的 条评论
为什么被折叠?



