Java中包装类型和基本类型的使⽤场景(什么时候使⽤包装类
型)(转)
说明:最简单的理解,基本类型有默认值,⽽包装类型初始为null。然后再根据这两个特性进⾏分业务使⽤,在阿⾥巴巴的规范⾥所有的POJO类必须使⽤包装类型,⽽在本地变量推荐使⽤基本类型。
Java语⾔提供了⼋种基本类型。六种数字类型(四个整数型,两个浮点型),⼀种字符类型,还有⼀种布尔型。
1、整数:包括int、short、byte、long初始值为0。
2、浮点型:float、double初始值为0.0
3、字符:char初始值为空格,即'' ",如果输出,在Console上是看不到效果的。
4、布尔:boolean初始值为false
基本型别⼤⼩最⼩值最⼤值
boolean----------------
char16-bit Unicode 0Unicode 2^16-1
byte8-bit-128+127java反射的作用及应用场景
short16-bit-2^15+2^15-1
int32-bit-2^31+2^31-1
long64-bit-2^63+2^63-1
float32-bit IEEE754IEEE754
double64-bit IEEE754IEEE754
void
注意:
表格⾥的^代表的是次⽅
Java采⽤unicode,2个字节来表⽰⼀个字符,1个字节等于16位。
基本类型的包装类
Integer 、Long、Short、Byte、Character、Double、Float、Boolean、BigInteger、BigDecmail
其中BigInteger、BigDecimal没有相对应的基本类型,主要应⽤于⾼精度的运算,BigInteger ⽀持任意精度的整数,
BigDecimal⽀持任意精度带⼩数点的运算。
基本类型与包装类型的异同:
1、在Java中,⼀切皆对象,但⼋⼤基本类型却不是对象。
2、声明⽅式的不同,基本类型⽆需通过new关键字来创建,⽽封装类型需new关键字。
3、存储⽅式及位置的不同,基本类型是直接存储变量的值保存在堆栈中能⾼效的存取,封装类型需要通过引⽤指向实例,具体的实例保存在堆中。
4、初始值的不同,封装类型的初始值为null,基本类型的的初始值视具体的类型⽽定,⽐如int类型的初始值为0,boolean类型为false;
5、使⽤⽅式的不同,⽐如与集合类合作使⽤时只能使⽤包装类型。
6、什么时候该⽤包装类,什么时候⽤基本类型,看基本的业务来定:这个字段允不允许null值,如果允许null值,则必然要⽤封装类,否则值类型就可以了,⽤到⽐如泛型和反射调⽤函数.,就需要⽤包装类!
参考:
(以上内容转⾃此篇⽂章)