包装类
1.包装类产生的原因:八种基本数据类型并不支持面向对象编程-->不具备"对象"的特性:不携带属性,无法方法可调用
2.包装类对象封装相应的基本类型的数据,包装类对象一经创建,内容(被封装的基本类型数据值)不可改变
举个栗子:
1 public class 包装类 2 { 3 public static void main(String[] args) 4 { 5 int num=500;//定义一个普通数据类型 6 num=200; 7 Integer obj=new Integer(num);//手动装箱 8 9 System.out.println(obj); 10 11 } 12 }
1 public class 包装类 2 { 3 public static void main(String[] args) 4 { 5 int num=500;//定义一个普通数据类型 6 7 Integer obj=new Integer(num);//手动装箱 8 num=200; 9 System.out.println(obj); 10 11 } 12 }
3.基本数据类型-->相应包装类(装箱);包装类-->基本数据类型(拆箱)
1 public class Pack 2 { 3 public static void main(String[] args) 4 { 5 int num=500;//定义一个普通数据类型 6 Integer obj=new Integer(num);//手动装箱 7 int n=obj.intValue();//手动拆箱 8 9 System.out.println("num=obj? "+obj.equals(null)); 10 11 Integer objr=new Integer(500); 12 System.out.println("obj等价于objr? "+objr.equals(obj)); 13 } 14 }
4.parseInt方法
1 /* 2 * shift+alt+z -->try/catch的快捷键 3 * 4 * parseInt方法,将字符串转换为整数 5 */ 6 public class Demo_padeInt 7 { 8 public static void main(String[] args) 9 { 10 String[]str= {"123","9527d","巫妖果子","妖妖灵"}; 11 12 for(String str1:str) 13 { 14 try { 15 int m=Integer.parseInt(str1);//只有包装类才能调用方法 16 System.out.println(str1+"可以转换成整数:"+m); 17 } 18 catch (NumberFormatException e) 19 { 20 System.out.println(str1+" 不可以转换成整数"); 21 } 22 } 23 } 24 }
5.Integer类的toString方法
1 /* 2 * toString方法:将整数转换为字符串 3 */ 4 public class Test06 5 { 6 public static void main(String[] args) 7 { 8 int n=500; 9 String m="旋风果子"; 10 String s=Integer.toString(n);//将整数转换为字符串 11 System.out.println("s"+s); 12 System.out.println(m+s);//字符串的相连 13 } 14 }
6.自动装箱和自动拆箱
1 /* 2 * 自动装箱和自动拆箱 3 */ 4 public class Test07 5 { 6 public static void main(String[] args) 7 { 8 int number=500; 9 Integer i=number;//自动装箱 10 int n=number;//自动拆箱功能 11 System.out.println(i+20);//自动装箱,系统自动调用解析方法i.paseInt() 12 13 Integer obj=500; 14 System.out.println("i是否等价于obj "+i.equals(obj)); 15 } 16 }