一:什么是包装类:
包装类就是把基本类型数据转换为对象,为什么要进行转换:1:集合和数组的区别就是集合中存储的都是对象,不能是基本类型的数据:2:需要运用一些实用的方法,通过对象点出来,比如后面用到的
String words="123";
words.length;可以点出一些方法;
基本类型的数据和引用类型的数据的区别一个是基本类型的数据都是小写,并且基本类型的数据点(.)不出来属性和方法;为了满足一些需求,就需要把基本类型数据转换成对象,就出现了包装类;
每一个基本类型在java.lang包中都有一个相应的包装类‘;
1.基本类型------->包装类:要借助于包装类的构造方法:
包装类有二个构造方法:一个是将与之对应的基本数据类型作为参数来构造它们的实例:public Type(type value)
如:Integer i=new Integer(1);
(1)以每一个包装类对应的基本数据类型作为参数:
int i = 9;
Integer inum = new Integer(i);
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)
第二个就是除Character类外(因为Character没有带字符串作为参数的构造方法,则编译不通过),其他包装类可将一个字符串作为参数构造它们的实例:public Type(String value)
如:Integer i =new Integer(“123”);
Integer i2 = new Integer("1221");
System.out.println(i2 + 1);
结果:1222;
Double i3=new Double("98.9");
System.out.println(i3+2);
结果:100.9;
Boolean f3=new Boolean("trUe");
结果:true
其余的一样;特许对待Boolean :Boolean类型的构造方法参数为字符串时,除了"true"(不区分大小写)之外的其他字符串,结果都为false;
注意:当Number类型的包装类构造方法参数为字符串时,字符串必须是能转换为Number的字符串,否则会报错!且字符串不能为null;
前面实现了基本类型转换成包装类,既然转换成一个类的,就可以通过对象调用其特有的方法,下面来介绍包装类的常用方法:主要有四种:
二.包装类的常用方法:
1.XXXvalue():包装类转换成基本类型
Integer integer = new Integer(25);
int inted = integer.intValue();
(基本类型都是小写,可以区分一下)
Boolean b1=new Boolean(true);
boolean b3=b1.booleanValue();
2.toString() 以字符串形式返回包装对象表示的基本类型数据(基本类型–>字符串!)
int num=100;
String bane=Integer.toString(num);
boolean b4=true;
String s=Boolean.toString(b4);
String n=Integer.toString(100);
但是这种方法比较复杂,我们经常使用一种比较快捷的方法:
String m=100+"";
m.length();
String m1=true+"";
String k='c'+"";
3.parseXXX():把字符串转换为相应的基本数据类型数据(Character除外)(字符串–>基本类型)
String age="18";
int o=Integer.parseInt(age);
String score="98.8";
double p=Double.parseDouble(score);
4.valueOf():(1):所有的包装类都有如下方法(基本类型—>包装类)
Integer j=Integer.valueOf(12);
Double k1=Double.valueOf(98.3);
Boolean i5=Boolean.valueOf(true);
(2);除Character类外i,其它包装类都有如下方法(字符串—>包装类)
Integer j2=Integer.valueOf("12");
Double k11=Double.valueOf("98.3");
Boolean i25=Boolean.valueOf("true");
请注意事项和之前的相同:当包装类为Number,字符串必须是数字;Boolean调用.valueOf除了true(不区分大小写),否则都为false;
总结:
String test = Integer.toString(100);
test.length();
//基本类型转换成字符串;
int test1 = Integer.parseInt(test);
//字符串转换成基本类型
通过构造方法和.valueOf()方法可以吧基本类型转换成包装类,要注意在字符串作参数时,不能有Character;
其余的字符串应该对应的是数字,不能是一些字母,这样就不能转换成数字,出现错误;还有就是Boolean使用时的规则,只要是true,不区分大小写,都为true,否则都为false;
还有一个就是把包装类转换成基本类型 调用。XXXvalue()方法:
Integer integer = new Integer(25);
int inted = integer.intValue();
因为在实际的使用过程中,经常涉及到基本类型转换成包装类和包装类转换成基本类型;JAVA为了方便使用提供了装箱和封箱:即基本类型和包装类的自动转换:
装箱:基础类型转换为包装类的对象
封箱:包装类对象转换为基本类型的值
Integer num=5;
int intvalue=num;