Integer的自动装箱以及Int比较
来源:互联网 发布:finale打谱软件汉化版 编辑:程序博客网 时间:2024/06/03 18:17
自己写了一点例子来区分
//1
Integer i =3;
Integer i2=3;
System.out.println(i==i2);//true
//2
Integer i3=128;
Integer i4 = 128;
System.out.println(i2==i3);//false
//3
Integer i5=127;
Integer i6 = 127;
System.out.println(i5==i6);//true
//4
int i7=3;
int i8=3;
System.out.println(i7==i8);//true
//5
int i9=300;
int i10=300;
System.out.println(i9==i10);//true
//6
Integer i11 = new Integer(3);
Integer i12 = new Integer(3);
System.out.println(i12==i11);//false
//7
int i13 = 3;
System.out.println(i11==i13);//true
以上列举了7种情况的比较,如我们所知,在java里==号比较的是内存地址是否相同,即是否为同一个对象。
第一二三种情况为了说明Integer与Integer间的比较,从jdk1.5开始,有“自动装箱”这么一个机制,在byte-128到127范围内(ps整型的八位二进制的表示的范围为-128到127),如果存在了一个值,再创建相同值的时候就不会重新创建,而是引用原来那个,但是超过byte范围还是会新建的对象,
第4,第5种情况则说明像int这样的基本类型==比较的只是值是否相同,这里说明下String类型在==比较上也有区别,大家可以另行百度下
第6种情况则输出false,则说明==比较的确实是内存地址,Integer对象new出来以后是在堆里。
第7种情况输出true则说明了自动拆箱机制,即基本数据类型和对象比较的时候,对象会自动拆箱为基本数据类型再比较,比较的就是里面的值而不是地址。
- Integer的自动装箱以及Int比较
- Integer 和 int 的区别 (自动装箱 与 拆箱)
- int Integer 装箱 拆箱 自动装箱 自动拆箱
- Integer.valueOf(int)及自动装箱内幕
- 研究Integer的自动装箱
- Integer的自动装箱过程
- Integer自动装箱的细节
- 谈谈JDK1.5新特性之Integer与int的自动装箱和自动拆箱
- Java中Integer与int类型的比较--装箱和拆箱
- java中int和Integer的==比较和拆箱装箱
- Java中Integer与int类型的比较--装箱和拆箱
- IBM websphere6.1 不支持泛型、int-Integer类型的自动装箱和拆箱问题
- int与Integer,long与Long的区别以及装箱与拆箱的理解
- 巧记Integer int 自动装箱与拆箱
- Integer.valueOf(int i)与自动拆箱与装箱
- Integer与int的比较
- Integer与int的比较
- Int和Integer的比较
- PDF合并PDF
- SpringMVC @RequestBody接收Json对象字符串
- 解决VS2010安装silverlight5的问题
- 项目中需要利用webview调用写好的java后台网页,并利用网页端的第三方通联支付。
- 前端工程师知识结构图及书籍推荐
- Integer的自动装箱以及Int比较
- 解析ntfs底层结构
- kafka详解
- 通过浏览器测试POST请求
- ValueAnimator.ofObject的使用
- 练习springMVC的一个小例子,为了方便以后继续学习springmvc和别的框架整合
- 基于Cloudera Manager 5和CDH5(版本5.3.3)的Hadoop集群安装
- 朴素贝叶斯 垃圾邮件检测 Naive Bayes Spam detection
- scala学习