zoukankan      html  css  js  c++  java
  • java 中 Integer 比较 问题

                对于 java 中 Integer  类型 比较 ,经常在面试中被提到 ,有时 还真的 让人 头疼。下面我来分析下。integer   比较问题。

    解决 Integer 值比较问题。我想从以下几点说起。

    1. Integer 的源码。

    2.堆内存与常量池 

         从Integer 源码开 。 在  -128 到   127    之间 的 数    再次 再用 。或者赋值 直接从缓存中取。

         例子如下 :

           Integer    a = 127  ;

           Integer   b=127;

         Integer   c=999;

          Integer    d=999;

      integer  f= new  Intger (999);

      integer  t= new  Intger (999);

      System.out.println(f==d);  // true  ;  对于 new 出来 的 和 没有 new 出来的  ,new 出来的   直接进行 拆箱 处理。转换的 integer  .

    System.out.println(a=b);//    true     127 在   -128 到  127  之间   所以会想成 

    System.out.println(f==t) //      false   两个 new  出来的对象比较 都不想成 。

    总结 :

        对于Integer  比较   用 ==   比较 

       1.对于 两个 都是 new 出来的对象 比较  一切都为 false   // Integer  a=new  Integer(10) ;   Integer  b=new Integer (10)     //false;

        2. 对于  连个 Integer 不是被 new 出来的 比较 如果 在  128-127 之间  的数  为  true 。否则 为 false    Integer  a=2;  Integer b=2;  //true 

      3. 对于 一个 是    Integer  不是被 new  出来   和 Int   笔记     都为 true 。    如  int a=1111;   Integer  b=1111; 

      4.  对于 一个int  与 一个   new  出来的 Integer  比较         一切都为 false;

        

  • 相关阅读:
    Manjaro 更新vim插件或者系统后 YCM失效
    UVA 10635 Prince and Princess
    HDU 4489 The King's Ups and Downs
    HDU 1542 矩形面积并
    POJ 2528 Mayor's poster
    读 CSI讲义 费马小定理
    JavaWeb——Servlet开发2
    JavaWeb——Servlet开发1
    LeetCode——264. Ugly Number II
    LeetCode——540. Single Element in a Sorted Array
  • 原文地址:https://www.cnblogs.com/yuruyi/p/10884278.html
Copyright © 2011-2022 走看看