面向对象通识12(包装类)
Java有8个基本类型:byte\short\int\long\float\double\char\boolean
-
不能当成对象使用
-
不能接受
null
值(只能赋值给引用类型)
为了解决上述问题,Java为这8个基本类型准备了对应的包装类——可以将基本类型包装成对象
byte--Byte
short--Short
int--Integer
long--Long
float--Float
char--Character
boolean--Boolean
规律——完整的名称首字母大写,不完整的补全全程并且首字母大写
自动装箱
基本类型的值可以当成包装类型的实例使用——如下
public class 包装类 {
public static void main(String[] args) {
//2可以自动装箱成Integer
Integer a=2;
//2.3自动装箱Double,Double向上转型为Object
Object s=2.3;
}
}
自动拆箱
包装类的实例也可以当做基本类型使用
上述两个自动功能可以让包装类关键字和基本类型关键字混用
通常而言,建议使用包装类来声明变量——
-
基本类型功能具有的功能它具有
-
也可以当做对象使用
-
也可以接受
null
问题:占用相对较大的内存
包装类中的方法
parse要转换的基本类型
方法可以将字符串转换成对应的基本类型值
举例:
public class Parse {
public static void main(String[] args) {
String a = "233";
int b = Integer.parseInt(a);
System.out.println(b);
}
}
/*
233
*/
如果被转换的基本类型不符合要转换的基本类型
NumberFormatException
public class 面试题 {
public static void main(String[] args) {
Integer a=20;//在-128-127中缓存
Integer b=20;//直接用缓存中对象
System.out.println(a==b);
Integer c=200;//在-128-127之外不缓存
Integer d=200;//创建新的对象
System.out.println(c==d);
}
}
/*
true
false
*/