• 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堆中的新建对象

  • 相关阅读:
    java:字符串的split方法,使用多个分隔符,分割一个字符串
    mysql 导入txt数据到数据表【原创】
    配置SSH无密码登录【原著】
    springboot 控制台程序读取配置文件(原创)
    Idea开发环境中,开发springboot类型的项目,如果只引入parent节点,不添加依赖节点,maven是不会加载springboot的任何依赖的
    Windows版的OpenJDK下载(Red Hat 提供)
    谈谈php里的IOC控制反转,DI依赖注入(转)
    高质量的工程代码为什么难写 (转)
    系统权限管理设计 (转)
    php mqtt client
  • 原文地址:https://www.cnblogs.com/dloading/p/10945385.html
Copyright © 2020-2023  润新知