1.Integer类型的对象保存在堆中,引用保存在栈中。而int类型的数直接保存在栈中。
2.用==比较
Integer i1=1;
Integer i2=1;
Integer i11=128;
Integer i22=128;
Integer i3=new Integer(1);
Integer i4=new Integer(1);
int i5=1;
int i6=1;
//----------分类比较
System.out.println("i1=i2:"+(i1==i2));//true比较的是引用,因为有个装箱的过程,而装箱的时候会有一个1---127的缓存
System.out.println("i11=i22:"+(i11==i22));//false大于128了,所以不等
System.out.println("i3==i4:"+(i3==i4));//false比较的是栈里的引用,包装类型只要有new就会创建一个新的对象和引用,故为false
System.out.println("i5==i6:"+(i5==i6));//true比较的栈里的值,所以相等
//--------互相比较
System.out.println("i1=i5:"+(i1==i5));//true比较的时候先拆箱后比较,故相等
System.out.println("i1=i3:"+(i1==i3));//false比较的引用,i1走的是装箱流程,i3是new出来的,故不等
System.out.println("i3==i5:"+(i3==i5));//true较的时候先拆箱后比较,故相等
3.用equals比较
首先int和int是不能用equals进行比较的
然后其他的全部为true
我们来看一下Integer的equals方法是怎么写的
public boolean equals(Object obj) {
if (obj instanceof Integer) {
return value == ((Integer)obj).intValue();
}
return false;
}
比较两个对象的alue,如果传进来的参数是基本数据类型就会有一个装箱的过程,所以结果全部为true。
分享到:
相关推荐
java中Integer包装类的详细讲解(java二进制操作,所有进制转换) 十进制转成二进制 十进制转八进制 十进制转十六进制 十六进制转成十进制 十六进制转成二进制 八进制转成十进制 等等所有进制转换和操作
但在Java中不能定义基本类型(primitive type),为了能将基本类型视为对象来处理,并能连接相关的方法,Java为每个基本类型都提供了包装类,这样,我们便可以把这些基本类型转化为对象来处理了。这些包装类有:Boolean...
包装类是Java提供的一种特殊类,它的主要作用是将基本数据类型转换为对象,从而可以调用对象的方法。 包装类的使用场景 当我们需要使用基本数据类型进行面向对象的操作时,就可以使用包装类。例如,我们需要对一个...
主要介绍了Java基本类型包装类概述与Integer类、Character类用法,结合实例形式分析了java基本数据类型与字符串转换相关操作技巧,需要的朋友可以参考下
包装类 byte-Byte short-Short int -Integer long -Long float -Float double -Double char-Character boolean-Boolean 1、所属的包 java.lang 2、类的继承关系、实现接口 前面6个包装类是与数字相关的 ...
下面这篇文章主要给大家介绍了关于java中Integer包装类装箱的一个细节的相关资料,文中介绍的这个细节挺重要的,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起看看吧
为了解决这个问题,Java 语言为每一个内置数据类型提供了对应的包装类。 所有的包装类都是抽象类 Number 的子类。 包装类 基本数据类型 Boolean boolean Byte byte Short short Integer int Long long Character ...
对Java的常用类的介绍,包含math类、时间类、包装类(Integer等)
Java提供了两个类型系统,基本类型与引用类型,使用基本类型在于效率,然而很多情况,会创建对象使用,因为对象可以做更多的功能,如果想要我们的基本类型像对象一样操作,就可以使用基本类型对应的包装类, 如下图:...
demoMutex.java 使用上面这个类来演示线程的互斥 commSource.java 一个共享资源的类 demoSynchrony.java 演示线程的同步 setDataThread.java 设置数据的线程类 readDataThread.java 读取数据的线程类 ...
int与integer的区别从大的方面来说是基本数据类型与其包装类的区别: int 是基本类型,直接存数值,而integer是对象,用一个引用指向这个对象 1.Java 中的数据类型分为基本数据类型和复杂数据类型 int 是...
基本数据类型对象包装类。 byte Byte short short int Integer long Long boolean Boolean float Float double Double char Character 基本数据类型对象包装类的常见作用, 是用于基本数据类型和...
包装类存在意义 1.让基本数据类型有面向对象的特征 2.封装了字符串转化成基本数据类型的方法(重点) 常用的字符串转化为基本数据类型的方法: Integer.parseInt() Long.parseLong() Double.parseDouble()
自动装箱是指将基本数据类型转换为对应的包装类对象,以便于在需要使用对象的地方进行操作。例如,将int类型的数据自动转换为Integer对象。 自动拆箱是指将包装类对象转换为对应的基本数据类型。例如,将Integer对象...
4 18基本类型的类包装 4 18 1Double类和Float类 4 18 2Byte Integer Short 工 ong类 4 18 3Character类 4 19反编译和文档生成器 4 20JAR文件 4 20 1将应用程序压缩为JAR文件 4 20 2将类压缩成JAR文件 4 20 3更新 ...
但是为了编程的方便还是引入了基本数据类型,但是为了能够将这些基本数据类型当成对象操作,Java为每一个基本数据类型都引入了对应的包装类型(wrapper class),int的包装类就是Integer,从Java 5开始引入了自动...
3.19 Java包装类、拆箱和装箱详解 54 3.20 包装类的应用 54 3.20.1.1 1) 实现 int 和 Integer 的相互转换 54 3.20.1.2 2) 将字符串转换为整数 55 3.20.1.3 3) 将整数转换为字符串 55 3.21 自动拆箱和装箱 56 3.22 再...
引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为 null,而原始...
基本数据类型包装类的作用是:将基本的数据类型包装成对象。因为有些方法不可以直接处理基本数据类型,只能处理对象,例如vector的add方法,参数就只能是对象。这时就需要使用他们的包装类将他们包装成对象。 例:...
其中,讨论了Java为什么不支持多继承、==和equals的区别、方法重载的条件、String为何设计成不可变、包装类的应用场景、Integer的高速缓存机制等多个方面。 通过面试题的逐一解答,读者可以了解到Java语言的一些...