概述
包装类把基本数据类型转换为对象。基本数据类型是点不出来东西的,只有引用数据类型才能点出来东西,因为他里面有属性有方法。但是一旦把基本数据类型变成一个包装类之后,它就有一些方法了,它就能点出来东西了。
在需要将基本数据类型转换为对象的时候才会使用包装类。
所以包装类有一下两个作用:
1、提供一系列实用的方法
2、集合不允许存放基本数据类型,存放数字时,要用包装类型。这个地方我有疑问,明明可以放进去数字啊:我下面这段代码运行没有任何问题。(这里涉及到一个装箱拆箱的概念,等等再说)
public class ArrayListTest {
public static void main(String[] args) {
ArrayList testList = new ArrayList();
testList.add(1);
System.out.println(testList.get(0));
}
}
包装类的构造方法(将基本数据类型变成包装类)
1、所有包装类都可将与之对应的基本数据类型作为参数,来构造它们的实例。如:
Integer i = new Integer(1);
2、除Character类外,其他包装类可将一个字符串作为参数构造它们的实例。如:
Integer i = new Integer("123");
实例:
public class Demo {
public static void main(String[] args) {
//构造方法
//所有包装类都有的构造方法,将与之对应的基本数据类型做参数
int i = 9;
Integer i1 = new Integer(i);
double d = 9.8;
Double d1 = new Double(d);
Boolean b = new Boolean(true);
Character c = new Character('a');
System.out.println(i1 + "\t" + d1 + "\t" + b + "\t" + c);
//除Charater之外的包装类都有的构造方法,将字符串做参数
Integer i2 = new Integer("4");
Double d2 = new Double("9.8");
Boolean b2 = new Boolean("true");
Character c2 = new Character('a');
System.out.println(i2 + "\t" + d2 + "\t" + b2 + "\t" + c2);
}
}
注:1、当Number包装类构造方法参数为String类型时,字符串不能为null,且该字符串必须可解析为响应的基本数据类型的数据,否则编译通过,运行时NumberFormatException异常。
2、当用字符串作为参数构造布尔类型的时候,只要是true这四个字母,不管大小写,都是true;其他的全是false。
包装类的常用方法
一:包装类转换成基本类型:XXXvalue()方法
public class Demo1 {
public static void main(String[] args) {
//将包装类变成基本数据类型
Integer i = new Integer(9);
int j = i.intValue();
System.out.println(j);
Boolean b = new Boolean(true);
boolean b1 = b.booleanValue();
}
}
二:基本类型变字符串
方法一:toString()方法:以字符串形式返回包装对象表示的基本类型数据
int num = 9;
String strNum = Integer.toString(num);
方法二:直接加空格
int num = 9;
String strNum = num + "";
三:字符串变成基本类型:parseXXX()方法(Character除外)
String s = "89";
int num2 = Integer.parseInt(s);
boolean bNum = Boolean.parseBoolean(s);
System.out.println(bNum);
四:valueOf():把基本类型和字符串变成包装类
把基本数据类型变成包装类是所有基本类型都有这个方法;把字符串变成包装类是除Character之外。
Integer iNum = Integer .valueOf(89);
Character cNum = Character.valueOf('a');
Boolean bNum = Boolean.valueOf(true);
总结
1、基本类型-->包装类:将对应的基本数据类型或一个可以解析为相应基本数据类型的数据的字符串作为参数传给构造方法,或者用valueOf()方法。
2、包装类-->基本类型:XXXvalue()方法。
3、基本类型-->字符串:toString()方法或者直接加空格。
4、字符串-->基本类型:parseXXX()方法。