【Java教程】包装类

包装类

Java使用基本类型的效率高,而对应的包装类包含更多的功能。

基本类型包装类
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
charCharacter
booleanBoolean
voidVoid类是一个不可实例化的占位符类,用于保存对表示Java关键字void的Class对象的引用

1.Integer类

  • 将原始类型int的值包装在一个对象中。
  • 提供处理int时有用的其他常量和方法。
  • Hash值为数值本身。

1.1 底层

private final int value;

1.2 方法

  • static Integer valueOf(int i):返回表示指定的int值的Integer实例。
  • static Integer valueOf(String s):返回保存指定String值的Integer对象。
  • static int parseInt(String s):将String转为int类型。
  • static String toString(int i, int radix):以指定基数返回int参数的字符串表示形式。
  • intValue():将Integer对象转换为int值,存在其他类型的重载方法。

1.3 内部类

  • private static class IntegerCache
    • 缓存整型字面量的值在 -128 到 127 之间的Integer对象,避免频繁创建对象。
    • 超出此范围会创建新对象。
    • 缓存大小可通过JVM选项-XX:AutoBoxCacheMax=<size>控制。
    • ByteShortLongCharacter也实现了常量池技术。

1.4 示例

Integer i1 = 10;
Integer i2 = Integer.valueOf(10);
int age = Integer.parseInt("18");

2 装箱与拆箱

  • 装箱:基本类型转换为包装类。
  • 拆箱:包装类转换为基本类型。
  • 自动装箱与自动拆箱:装箱、拆箱动作可以自动完成。注意,这可能会降低性能。

2.1示例

Integer i = 4; // 自动装箱。相当于 Integer i = Integer.valueOf(4);
int a = i + 5; // 自动拆箱。相当于 i.intValue() + 5;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值