Java包装类
Java数据类型
-
问题
–不具备对象的特征
–无法进行对象化交互 -
解决方案
–包装类
包装类和基本数据类型之间的转换
手动装(拆)箱与自动装(拆)箱
package Wrap;
public class WrapTestOne {
public static void main(String[] args) {
// TODO Auto-generated method stub
//装箱:把基本数据类型转换成包装类
//1、自动装箱
int t1=2;
Integer t2=t1;
//2、手动装箱
Integer t3=new Integer(t1);
//测试
System.out.println("int类型变量t1="+t1);
System.out.println("Integer类型对象t2="+t2);
System.out.println("Integer类型对象t3="+t3);
System.out.println("*************************");
//拆箱:把包装类转换成基本数据类型
//1、自动拆箱
int t4=t2;
//2、手动拆箱
int t5=t2.intValue();
//测试
System.out.println("Integer类型对象t2="+t2);
System.out.println("自动拆箱后,int类型变量t4="+t4);
System.out.println("手动拆箱后,int类型变量t5="+t5);
double t6=t2.doubleValue();
System.out.println("手动拆箱后,double类型变量t6="+t6);
}
}
基本数据类型和字符串之间的转换
包装类的toString、parse、valueOf 方法
package Wrap;
public class WrapTestTwo {
public static void main(String[] args) {
// TODO Auto-generated method stub
//基本数据类型转换为字符串
int t1=2;
String t2=Integer.toString(t1);
//测试
System.out.println("int类型转换为String类型对象t2="+t2);
System.out.println("********************************");
//字符串转换为基本数据类型
//1、包装类的parse
int t3=Integer.parseInt(t2);
//2、包装类的valueOf 先将字符串转换为包装类,再通过自动拆箱完成基本类型转换
int t4=Integer.valueOf(t2);
//测试
System.out.println("String类型转换为int类型变量t3="+t3);
System.out.println("String类型转换为int类型变量t4="+t4);
}
}
包装类的初始值
package Wrap;
public class Cat {
//成员属性
String name;
Integer month;
Double weight;
}
package Wrap;
public class CatTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
//实例化对象
Cat one=new Cat();
//测试输出
System.out.println("小猫的昵称:"+one.name);
System.out.println("小猫的年龄:"+one.month);
System.out.println("小猫的体重:"+one.weight);
}
}
Integer、Double 类型初始值为null
包装对象间的比较
package Wrap;
public class WrapperTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
Integer one=new Integer(100);
Integer two=new Integer(100);
System.out.println("one==two的结果:"+(one==two));//1
Integer three=100;//自动装箱
//Integer three=Integer.valueOf(100);
System.out.println("three==100的结果:"+(three==100));//2 自动拆箱
//Integer four=100;
Integer four=Integer.valueOf(100);
System.out.println("three==four的结果:"+(three==four));//3
Integer five=200;
System.out.println("five==200的结果:"+(five==200));//4
Integer six=200;
System.out.println("five==six的结果:"+(five==six));//5
Double d1=Double.valueOf(100);
System.out.println("d1==100的结果:"+(d1==100));
Double d2=Double.valueOf(100);
System.out.println("d1==d2的结果:"+(d1==d2));
}
}
对象常量池(除了char、double)
总结
- 什么是包装类
- 包装类与基本数据类型之间的对应关系
- 包装类的常用方法