首页 > 代码库 > Java基础类型自动装箱(autoboxing)
Java基础类型自动装箱(autoboxing)
Java SE 1.5 版本及之后,开始提供自动装箱功能。
自动装箱,将基础类型“包装”成一种类型:
基本类型 --> 包装器类
如下过程可触发自动装箱过程:
Integer count = 1;
Double amount = 2.0D
从 Javadoc API 上看,包装器类提供方法,对封装的基础类型进行操作:
类型转换,如 float --> int
比较
...
值得注意的是,对于 [-128, 127] 之间的数值,自动装箱利用缓存提供内存使用效率。
即,自动装箱对于该范围的数值,得到的包装器类内存地址不变。
例如,
Integer a = 129;
Integer b = 129;
System.out.println(a == b);// output true
实践:
1、自动装箱出现在变量声明中;
2、考虑使用情景之一,需要对基础类型进行比较、类型转换等操作;
3、若需对包装器类进行 == 比较,建议转换为基础类型后,再进行。
为了避免缓存数值范围 [-128, 127] 对 == 比较结果的影响。
Java基础类型自动装箱(autoboxing)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。