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

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包装类练习.doc

    Java 包装类包括 Boolean、Byte、Character、Short、Integer、Long、Float 和 Double 八种。 1. Long 包装类型常量 cache 机制 在 Java 中,Long 包装类型的常量 cache 机制是指在 -128 到 127 之间的值会被缓存在...

    java包装类集合类详解

    ### Java包装类与集合类详解 #### 包装类概述 在Java中,为了更好地处理基本数据类型(如`int`、`double`等),Java提供了八种包装类,每种包装类都将基本数据类型“封装”起来,使得基本类型也能拥有对象特性,并...

    Java 包装类

    Java包装类是Java编程语言中的一个关键特性,主要用于将基本数据类型(如int、char、boolean等)与对象之间进行转换。这是因为Java的API库中许多类和方法都设计为接收或返回对象,而基本类型不是对象。为了解决这个...

    java原始数据类型的包装类

    为了使原始类型能够参与面向对象的编程,Java设计了八种对应的包装类(Wrapper Classes):Byte、Short、Integer、Long、Float、Double、Character和Boolean。这些包装类将原始类型封装成对象,使得我们可以使用对象...

    Java包装类

    ### Java包装类详解 #### 基本概念 在Java编程语言中,为了使基本数据类型也能具备对象的特性,例如调用方法等,Java为每一种基本数据类型提供了对应的包装类。这些包装类不仅提供了丰富的操作接口,还能够帮助...

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

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

    Java包装类、拆箱和装箱详解.docx

    基本类型和对应的包装类可以相互转换:从基本类型向对应的包装类转换称为装箱,例如把 int 包装成 Integer 类的对象;从包装类向对应的基本类型转换称为拆箱,例如把 Integer 类的对象重新简化为 int。 Java 中的八...

    Java包装类详解.pptx.pptx

    Java包装类是Java语言设计中的一个重要特性,它们是为了解决基本数据类型(如int、char、boolean等)无法直接参与面向对象编程的问题而引入的。包装类将基本数据类型转换为对象,使得我们可以在需要对象操作的场景下...

    java.包装类.md

    Java包装类是指那些将基本数据类型封装成对象的类,它们位于Java.lang包下。Java中的每一种基本数据类型都有一个对应的包装类,包括:Boolean、Byte、Short、Integer、Long、Float、Double和Character。这些包装类...

    Java包装类原理与用法实例分析

    Java包装类的版本区别在于,在JDK1.5以前,需要通过构造器来将基本数据类型转换成对应的包装类,而在JDK1.5之后,提供了自动装箱和自动拆箱功能,可以直接将基本类型赋给相应的包装类或将包装类赋给相应的基本类型...

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

    Java基本类型包装类概述与Integer类、Character类用法分析 Java基本类型包装类概述: Java基本类型包装类是将基本数据类型封装成对象的,以便在对象中定义更多的功能方法来操作该数据。常用的操作之一是用于基本...

    Java学习资料-包装类

    以下是关于Java包装类的详细知识: 1. **包装类的定义与作用** - Java的8个基本数据类型包括byte、short、int、long、char、float、double和boolean。每个都有其对应的包装类,分别是Byte、Short、Integer、Long、...

    Java八大基本类型和包装类.docx

    除了八大基本类型之外,Java 还提供了对应的包装类,分别是 Integer、Long、Short、Byte、Character、Double、Float、Boolean、BigInteger 和 BigDecimal。这些包装类可以实现自动装箱和拆箱的功能,方便在不同类型...

    java 包装类发给的发广告豆干

    Java中的包装类是针对基本数据类型(如int、float等)设计的一组类,它们使得基本数据类型能够参与面向对象的编程。包装类解决了Java语言中基本类型与对象之间转换的不便,使得基本类型的数据可以像对象一样进行操作...

    java.包装类(处理方案示例).md

    Java包装类是在Java编程语言中用于封装基本数据类型的特殊类。Java提供了八种基本数据类型的包装类,分别是Boolean、Byte、Short、Integer、Long、Float、Double和Character。这些类允许将基本数据类型封装为对象,...

    java中Integer包装类的详细讲解(java二进制操作,所有进制转换)

    java中Integer包装类的详细讲解(java二进制操作,所有进制转换) 十进制转成二进制 十进制转八进制 十进制转十六进制 十六进制转成十进制 十六进制转成二进制 八进制转成十进制 等等所有进制转换和操作

    java常用系统类库实验

    以Math类和基本类型的包装类实验为例,实验程序`MathTest.java`展示了如何使用Math类进行数学运算,以及如何使用包装类进行基本数据类型的处理。以下是对实验程序的详细分析: 1. **输入数据**:首先,程序通过`...

    java.包装类(解决方案).md

    在Java中,每一个基本数据类型都有对应的包装类,例如:Integer对应int,Double对应double,Float对应float,Long对应long等。这些包装类主要位于java.lang包下,它们提供了一系列方法,使得基本数据类型在使用时...

    Java学习笔记接口包装类

    2. **自动装箱与拆箱**: 自Java 5开始,编译器支持自动装箱(将基本类型转换为对应的包装类对象)和拆箱(将包装类对象转换为基本类型)。例如,`int i = 10; Integer integer = i;` 这里的i到integer就是自动装箱。...

Global site tag (gtag.js) - Google Analytics