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 内存地址不一样。

  • 相关阅读:
    解决CollectionView TableView reloadData或者reloadSections时的刷新的闪烁问题
    HTTP请求头
    Fastlane 使用笔记
    python-函数式编程
    python-高级特性
    python基础使用
    python基础-函数02
    python基础-函数01
    python基础
    Linux基础
  • 原文地址:https://www.cnblogs.com/zhangheliang/p/5825510.html
Copyright © 2011-2022 走看看