P233 包装类的概念
因为基本类型的数据没有对应的方法来操作这些数据
👇
可以用一个类把基本类型的数据包装起来
👇
可以对其进行一些方法了~
int-》Integer
double-》Double
char-》character
P234 如何包装
使用构造方法
- 装箱:把基本类型的数据-》包装类
- 拆箱:包装类-》基本类型的数据
//构造方法实现装箱
Integer int1=new Integer(1);//画横线说明方法过时了
System.out.println(int1);
Integer int2=new Integer("a");
System.out.println(int2);
//静态方法实现装箱
Integer in3=Integer.valueOf(1);
Integer in4=Integer.valueOf("1");
P235 自动装箱与拆箱
jdk1.5之后出现的新特性:基本类型的数据和包装类之间可以自动的相互转换
自动装箱
直接把int类型的整数赋值给包装类(Integer/Double等)
自动拆箱
in是包装类,无法直接参与运算,可以自动转化成基本类型的数据,再参与计算
如:in=in+2
又如ArrayList集合:
- 因为无法直接存储整数,但可以存储包装类Integer等
ArrayList<Interger>list=new ArrayList<>();
list.add(1);//自动装箱list.add(new Integer(1));
int a=list.get(0);//自动拆箱list.get(0).intValue();
自动转化方便了:ArrayList的使用
P236 包装类型与字符串类型的转换
基本–》字符串:
-
基本+“”
-
使用包装类中的静态方法
-
static String toString(int i)返回一个表示指定整数的string对象
-
使用String类中的静态方法
-
static String valueOf(int i)返回int参数的字符串表示形式
字符换–》基本类型:
- 使用包装类中的静态方法parseXX(“字符串”)
-
Integer
P237 基本类型和字符串的相互转换
基本类型–》字符串
//基本类型--》字符串的转换
String s1=100+"";//运用了方法一【直接数值+“ ”】
System.out.println(s1+200);
String s2=Integer.toString(100);//运用了方法二【integer包装类中的静态方法】
System.out.println(s2+200);//100200
String s3=String.valueOf(100);//运用了方法三【String类中的静态方法】
System.out.println(s3+200);//100200
//字符串--》基本类型的转换
int i = Integer.parseInt("100");//运用方法一【包装类的静态方法】
System.out.println(i+200);
int a = Integer.parseInt("a");
System.out.println(a);//会报错【numberformatexception】,括号内必须是“数字”或“字符串”,不能是“单个字符”
P238 包装类总结
- 记住:char和int的包装类写法不一样
- 数字转换字符串:
-
1、最简单的方法:直接加上“”