提示:Hello,我是柚子,这篇文章为大家介绍包装类型为什么不建议用==
提示:以下是本篇文章正文内容,下面案例可供参考
一、包装类型是什么?
在Java5 中添加了两个新特性,那就是自动装箱和拆箱,因为基本类型的广泛使用,但是Java 又是面向对象的语言,所以提供了包装类型的支持。基本数据类型包括byte, short, int, long, float, double, char, boolean,对应的包装类分别是Byte, Short, Integer, Long, Float, Double, Character, Boolean。
基本类型 | 包装类型 |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
char | Character |
boolean | Boolean |
二、装箱和拆箱
装箱:自动将基本数据类型转换为包装器类型;
int --> Integer
Integer .valueOf(int)
拆箱:就是自动将包装器类型转换为基本数据类型;
Integer --> int
Integer.intValue()
三、不能用==的原因
1.Integer的缓存范围是(-128,127),如果是范围以外的数值,就会new两个对象,而对象们的地址是不相同的。
2.另外如果为null,可能会报空指针异常
总结
所以我们要按照阿里巴巴的 Java 规范来编写代码,采用equals 方法来判断哦。
╭◜◝ ͡ ◜◝╮
( ˃̶͈◡˂ ̶͈ )感觉有用的话,欢迎点赞评论呀!
╰◟◞ ͜ ◟◞╯