博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java Integer类以及拆箱和装箱
阅读量:7164 次
发布时间:2019-06-29

本文共 1238 字,大约阅读时间需要 4 分钟。

package com.ilaw.boson.controller;public class Demo {    public static void main(String[] args) {        Integer a = new Integer(2000);        int b =2000;        Integer c =b;        System.out.println(a == b);//true,Integer和int进行操作的时候,对a进行拆箱处理        System.out.println(b == c);//true,Integer和int进行操作的时候,对c进行拆箱处理        System.out.println(a == c);//false,b进行赋值时,装箱时会调用Integer.valueOf方法对a进行装箱        a = new Integer(10);        c =10;        System.out.println(a == c);//false,进行行装箱操作时,会调用Integer.valueOf方法,本质两个对象对比        a=10;        System.out.println(a == c);//true,两个对象都是通过装箱操来构造的,即通过Integer.valueOf方法,则如果值在-128-127之间,会从IntegerCache中取        /**         * 总结:         * 1.Integer和int进行操作的时候,对Integer对象进行拆箱处理         * 2.通过new的方式创建Integer对象的地址时不同的         * 3.通过Integer a=10;的方式赋值的时候会进行装箱,装箱会调用Integer的valueOf方法         * 4.Integer内部会通过IntegerCache对象来存储常用的-128-127之间Integer对象,在装箱时会返回IntegerChache的对象         *         */        //说明,Integer类型和int类型进行操作(相等,相加)的时候会进行拆箱操作    }}

 

 

 总结:
 1.Integer和int进行操作的时候,对Integer对象进行拆箱处理
 2.通过new的方式创建Integer对象的地址时不同的
 3.通过Integer a=10;的方式赋值的时候会进行装箱,装箱会调用Integer的valueOf方法
 4.Integer内部会通过IntegerCache对象来存储常用的-128-127之间Integer对象,在装箱时会返回IntegerChache的对象

转载于:https://www.cnblogs.com/zhangshiwen/p/7389081.html

你可能感兴趣的文章