`
zsxzmxg
  • 浏览: 4721 次
社区版块
存档分类
最新评论

java包装类和基本类的分析(以Integer来介绍)

阅读更多
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中Integer包装类的详细讲解(java二进制操作,所有进制转换) 十进制转成二进制 十进制转八进制 十进制转十六进制 十六进制转成十进制 十六进制转成二进制 八进制转成十进制 等等所有进制转换和操作

    Java的基本数据类型和包装类的关系

    但在Java中不能定义基本类型(primitive type),为了能将基本类型视为对象来处理,并能连接相关的方法,Java为每个基本类型都提供了包装类,这样,我们便可以把这些基本类型转化为对象来处理了。这些包装类有:Boolean...

    Java包装类详解.pptx.pptx

    包装类是Java提供的一种特殊类,它的主要作用是将基本数据类型转换为对象,从而可以调用对象的方法。 包装类的使用场景 当我们需要使用基本数据类型进行面向对象的操作时,就可以使用包装类。例如,我们需要对一个...

    Java基本类型包装类概述与Integer类、Character类用法分析

    主要介绍了Java基本类型包装类概述与Integer类、Character类用法,结合实例形式分析了java基本数据类型与字符串转换相关操作技巧,需要的朋友可以参考下

    java包装类相关方法.txt

    包装类 byte-Byte short-Short int -Integer long -Long float -Float double -Double char-Character boolean-Boolean 1、所属的包 java.lang 2、类的继承关系、实现接口 前面6个包装类是与数字相关的 ...

    java中Integer包装类装箱的一个细节详解

    下面这篇文章主要给大家介绍了关于java中Integer包装类装箱的一个细节的相关资料,文中介绍的这个细节挺重要的,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起看看吧

    Java Number & Math 类.pdf

    为了解决这个问题,Java 语言为每一个内置数据类型提供了对应的包装类。 所有的包装类都是抽象类 Number 的子类。 包装类 基本数据类型 Boolean boolean Byte byte Short short Integer int Long long Character ...

    Java常用类

    对Java的常用类的介绍,包含math类、时间类、包装类(Integer等)

    Java包装类

    Java提供了两个类型系统,基本类型与引用类型,使用基本类型在于效率,然而很多情况,会创建对象使用,因为对象可以做更多的功能,如果想要我们的基本类型像对象一样操作,就可以使用基本类型对应的包装类, 如下图:...

    Java开发技术大全(500个源代码).

    demoMutex.java 使用上面这个类来演示线程的互斥 commSource.java 一个共享资源的类 demoSynchrony.java 演示线程的同步 setDataThread.java 设置数据的线程类 readDataThread.java 读取数据的线程类 ...

    Java int与integer的区别

    int与integer的区别从大的方面来说是基本数据类型与其包装类的区别:  int 是基本类型,直接存数值,而integer是对象,用一个引用指向这个对象  1.Java 中的数据类型分为基本数据类型和复杂数据类型  int 是...

    Java基本类型的包装

    基本数据类型对象包装类。 byte Byte short short int Integer long Long boolean Boolean float Float double Double char Character 基本数据类型对象包装类的常见作用, 是用于基本数据类型和...

    基本数据类型包装类.txt

    包装类存在意义 1.让基本数据类型有面向对象的特征 2.封装了字符串转化成基本数据类型的方法(重点) 常用的字符串转化为基本数据类型的方法: Integer.parseInt() Long.parseLong() Double.parseDouble()

    Java经典面试题.pdf

    自动装箱是指将基本数据类型转换为对应的包装类对象,以便于在需要使用对象的地方进行操作。例如,将int类型的数据自动转换为Integer对象。 自动拆箱是指将包装类对象转换为对应的基本数据类型。例如,将Integer对象...

    Java2实用教程.rar

    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更新 ...

    阿里2017年Java学科面试测试题

    但是为了编程的方便还是引入了基本数据类型,但是为了能够将这些基本数据类型当成对象操作,Java为每一个基本数据类型都引入了对应的包装类型(wrapper class),int的包装类就是Integer,从Java 5开始引入了自动...

    Java入门教程(微学苑)-part1

    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 再...

    java 面试题 总结

    引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为 null,而原始...

    Java精华(免费版)

    基本数据类型包装类的作用是:将基本的数据类型包装成对象。因为有些方法不可以直接处理基本数据类型,只能处理对象,例如vector的add方法,参数就只能是对象。这时就需要使用他们的包装类将他们包装成对象。 例:...

    Java面试题-基础和集合.docx

    其中,讨论了Java为什么不支持多继承、==和equals的区别、方法重载的条件、String为何设计成不可变、包装类的应用场景、Integer的高速缓存机制等多个方面。 通过面试题的逐一解答,读者可以了解到Java语言的一些...

Global site tag (gtag.js) - Google Analytics