zoukankan      html  css  js  c++  java
  • int和Integer的区别

        如果面试官问Integer与int的区别:估计大多数人只会说道两点,Ingeter是int的包装类,int的初值为0,Ingeter的初值为null。如果再问一下其他的,估计更多的人会头脑一片混乱。所以我对它们进行了总结,希望对大家有帮助。

    1.int与Integer、new Integer 

    int k=12;
    Integer k1=12;
    Integer k2 = new Integer(12);

    System.out.println((k==k1)+"结果为true:integer会进行拆箱为int");
    System.out.println((k==k2)+"结果为true:integer会进行拆箱为int");

    2.Integer 和 Integer 

    Integer g1=127;
    Integer g2=127;
    System.out.println((g1==g2)+"结果为true");

    Integer g3=128;
    Integer g4=128;
    System.out.println((g3==g4)+"结果为false");
    /*
    * 这里是个重点,g1、g2结果为true,Integer不在拆箱,代码经过编译为Integer.valueOf(i),
    * 因为第一个integer会将值写入缓存池,
    * 在声明一个一样的会在缓存中直接取,
    * 所以为true。
    * 而超过-128---127的范围会开辟新的内存。
    */

    3.其他

    integer 和new integer 不会为true,前者在缓存中,后者在堆中,内存地址不一样

    new integer和new integer 内存地址不一样。

  • 相关阅读:
    jenkins的目录介绍
    Docker 配置国内镜像加速器
    jquery----TreeTable
    java web----jsp语法
    Spring MVC----@ResponseBody注解(json)
    jquery----datatables
    java web----jsp自定义标签
    js----单步调试
    jquery----查找标签
    jquery----icheck插件
  • 原文地址:https://www.cnblogs.com/zhangheliang/p/5825510.html
Copyright © 2011-2022 走看看