概述
一、包装类型和基本类型的区别
1、包装类型没有默认值都是 null,而基本类型有默认值
2、一般所有的DTO中属性必须全部使用包装类型,局部变量使用基本类型
3、一般接口全局统一响应的状态码属性,一般使用 Integer 类型
4、包装类型和基本类型用 == 比较会做拆箱操作,所以 Integer == int 可以正常比较
二、 以 Integer 为例,验证一下 Integer 类型的特点
说明:
Integer 类型变量在(-128到127)范围内,用 == 可以正确比较,但如果越过这个范围之外用 == 无法正确比较,必须使用 equals 才可以正确比较
验证:
1、Integer正常范围内 == 比较
//正常范围内 == 比较
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 比较
//正常范围内 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、越过正常范围 == 比较
//越过正常范围 == 比较
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 比较
//越过正常范围 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等特点说明所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复