一、包装类型和基本类型的区别
1、包装类型没有默认值都是 null,而基本类型有默认值
2、一般所有的DTO中属性必须全部使用包装类型,局部变量使用基本类型
3、一般接口全局统一响应的状态码属性,一般使用 Integer 类型
4、包装类型和基本类型用 == 比较会做拆箱操作,所以 Integer == int 可以正常比较
二、 以 Integer 为例,验证一下 Integer 类型的特点
说明:
Integer 类型变量在(-128到127)范围内,用 == 可以正确比较,但如果越过这个范围之外用 == 无法正确比较,必须使用 equals 才可以正确比较
验证:
1、Integer正常范围内 == 比较
复制代码
1
2
3
4
5
6
7//正常范围内 == 比较 Integer a = -128; Integer b = -128; System.out.println("Integer最小范围使用==比较:" + (b==a)); Integer c = 127; Integer d = 127; System.out.println("Integer最大范围使用==比较:" + (c==d));
输出:
2、正常范围内 equals 比较
复制代码
1
2
3
4
5
6
7//正常范围内 equals 比较 Integer a = -128; Integer b = -128; System.out.println("Integer最小范围使用equals比较:" + (a.equals(b))); Integer c = 127; Integer d = 127; System.out.println("Integer最大范围使用equals比较:" + (c.equals(d)));
输出:
3、越过正常范围 == 比较
复制代码
1
2
3
4
5
6
7//越过正常范围 == 比较 Integer a = -129; Integer b = -129; System.out.println("Integer越过最小范围使用==比较:" + (a==b)); Integer c = 128; Integer d = 128; System.out.println("Integer越过最大范围使用==比较:" + (c==d));
输出:
4、 越过正常范围 equals 比较
复制代码
1
2
3
4
5
6
7//越过正常范围 equals 比较 Integer a = -129; Integer b = -129; System.out.println("Integer越过最小范围使用equals比较:" + (a.equals(b))); Integer c = 128; Integer d = 128; System.out.println("Integer越过最大范围使用equals比较:" + (c.equals(d)));
输出:
三、总结
1、Integer 类型变量使用 == 进行比较的范围是 -128到127
2、Integer 类型变量使用 equals 进行比较没有范围限制
3、Integer 类型变量和 int 类型比较也没有范围限制
最后
以上就是雪白战斗机最近收集整理的关于Java中常见包装类型Integer、BigDecimal等特点说明的全部内容,更多相关Java中常见包装类型Integer、BigDecimal等特点说明内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复