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

    Integer是int的包装类,int的初值为0,Integer的初值为null。

    当对Integer类型跟int类型的变量进行比较大小时:

    public static void main(String[] args) {
    int a=59;
    Integer b=59;
    Integer b1=59;
    Integer c=Integer.valueOf(59);
    Integer c1=Integer.valueOf(59);
    Integer d=new Integer(59);
    System.out.println("int a跟Integer(不论是否为new) a==b "+(a==b));
    System.out.println("int a跟Integer(不论是否为new) a==c "+(a==c));
    System.out.println("int a跟Integer(不论是否为new) a==d "+(a==d));
    Integer e=new Integer(59);
    System.out.println("两个new 出来的Inetger变量 d==e "+(d==e));
    System.out.println("非new出来的Integer变量(-128到127) b==c "+(b==c));
    System.out.println("非new出来的Integer变量(-128到127) b==b1 "+(b==b1));
    System.out.println("非new出来的Integer变量(-128到127) c==c1 "+(c==c1));
    Integer f=128;
    Integer f1=128;
    Integer g=Integer.valueOf(128);
    Integer g1=Integer.valueOf(128);
    System.out.println("非new出来的Integer变量(>127||<-128) f==g "+(f==g));
    System.out.println("非new出来的Integer变量(>127||<-128) f==f1 "+(f==f1));
    System.out.println("非new出来的Integer变量(>127||<-128) g==g1 "+(g==g1));
    Integer h=128;
    Integer i=Integer.valueOf(128);
    Integer j=new Integer(128);
    System.out.println("Integer 跟 new Integer h==j "+(h==j));
    System.out.println("Integer 跟 new Integer i==j "+(i==j));
    }

    1、Integer类型的变量跟int类型的变量进行==的比较的时候,无论Integer类型的变量是否是一个new 的Integer对象,只要他们的数值相等,都为true。因为当Integer类型的变量跟int类型变量比较时,Integer类型变量会被拆箱成int类型,仅仅比较数值。

    2、当两个Integer变量都是new 出来Integer类型的引用对象时,不管数值是否相等,都为false。因为引用类型变量之间的比较,比较的是地址而不是数值。

    上述两种情况适用于所有情况。不需要考虑Integer变量的数值是否 >=-128&&<=127

    3、两个不是实例化new出来的Integer变量,在变量值>=-128&&<=127时,为true。否则为false

    4、非new出来的Integer变量跟new 出来的Integer变量不管数值是否一样,比较时都为false; 因为非new  的Integer变量指向Java常量池对象;new出来的Integer变量指向Java堆中的新建对象

  • 相关阅读:
    Poj2155Matrix二维线段树
    二维树状数组模板
    PAT-1014 Waiting in Line (30 分) 优先队列
    PAT-1012 The Best Rank (25 分) 查询分数对应排名(包括并列)
    PAT-1003 Emergency (25 分) 最短路最大点权+求相同cost最短路的数量
    PAT-1001 A+B Format (20 分) 注意零的特例
    利用requests和BeautifulSoup爬取菜鸟教程的代码与图片并保存为markdown格式
    菜鸟教程上的设计模式代码合集
    用python将项目中的所有代码(或txt)合并在一个文件中
    POJ 2485 Prim 找最长的边
  • 原文地址:https://www.cnblogs.com/dloading/p/10945385.html
Copyright © 2011-2022 走看看