我是靠谱客的博主 雪白战斗机,这篇文章主要介绍Java中常见包装类型Integer、BigDecimal等特点说明,现在分享给大家,希望可以做个参考。

一、包装类型和基本类型的区别

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等特点说明内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(95)

评论列表共有 0 条评论

立即
投稿
返回
顶部