yte
,Short
,Integer
,Long
这 4 种包装类默认创建了数值 [-128,127] 的相应类型的缓存数据,Character
创建了数值在 [0,127] 范围的缓存数据,Boolean
直接返回 True
or False
。
两种浮点数类型的包装类 Float
,Double
并没有实现缓存机制。
自动装箱与拆箱
装箱 :Integer.valueOf()
拆箱:n.intValue();
如果频繁拆装箱的话,也会严重影响系统的性能。我们应该尽量避免不必要的拆装箱操作。
BigDecimal
可以实现对浮点数的运算,不会造成精度丢失。通常情况下,大部分需要浮点数精确运算结果的业务场景(比如涉及到钱的场景)都是通过 BigDecimal
来做的。
超过 long 整型的数据 BigInteger
内部使用 int[]
数组来存储任意大小的整形数据。
静态变量属于类,在类加载时候就会分配内存,可以通过类名直接访问
非静态变量属于实例对象,通过类的实例化对象访问
重载与重写