包装类
一、概念
1、针对八种基本定义相应的引用类型——包装类(封装类)
2、 有了类的特点,就可以调用类中的方法
3、基本数据类型包装成包装类的实例——装箱
- 通过包装类的构造器实现:
int i = 500;
Integer t = new Integer(i);
- 还可以通过字符串参数构造包装类对象:
Float f = new Float("4.56");
Long l = new Long("asdf");//报错。NumberFormatException
Integer i = new Integer(111);
System.out.println(i);//111
Integer i = new Integer("123");
System.out.println(i);//123
Integer i = new Integer("abc");
System.out.println(i);//编译不报错,运行有错误
4、获得包装类对象中包装的基本类型变量——拆箱
调用包装类的.xxxValue()方法:
boolean b = bObj.booleanValue();
Integer i = new Integer(112);
int i0 = i.intValue();
System.out.println(i0);//112
boolean b = new Boolean("false").booleanValue();
System.out.println(b);
5、JDK1.5之后,支持自动装箱,自动拆箱。但类型必须匹配。
//Integer i = new Integer(112);
Integer i1 = 112;//自动装箱
//int i0 = i.intValue();
int i2 = i1;//自动拆箱
System.out.println(i0);//112
//boolean b = new Boolean("false").booleanValue();
boolean b = new Boolean("false");//自动拆箱
Boolean b1 = true;//自动装箱
System.out.println(b);
6、字符串转换成基本数据类型
- 通过包装类的构造器实现
int i = new Integer("12");
- 通过包装类的parseXxx(Sring s)静态方法
Float = Float.parseFloat(“12.1”);
int i = Integer.parseInt("123");
float f = Float.parseFloat("0.40");
boolean b = Boolean.parseBooolean("false");
7、基本数据类型转换成字符串
- 调用字符串重载的valueOf()方法
String fstr = String.valueOf(2.34f);
- 更直接的方式
String intStr = 5 + “”
String istr = String.valueOf(i);
String fstr = String.valueOf(f);
String bstr = String.valueOf(b);
二、包装类的用法
- 拆箱:将数字包装类中内容变为基本数据类型
- 基本数据类型的包装类的主要应用:基本数据类型与字符串直接的转化
三、toString
toString源自Object类。
MyDate m = new MyDate(2030,12,12);
System.out.println(m.toString);//输出对象的内存地址
System.out.println(m);//打印m对象相当于执行打印m.toString(),这个在其他对象也是如此
父类Object的toString方法就输出当前对象的内存地址。如果要输出类的其他信息,可以重写toString方法