zoukankan      html  css  js  c++  java
  • 面试题int和Integer

    int和Integer的区别

    1、Integer是int的包装类,int则是java的一种基本数据类型 
    2、Integer变量必须实例化后才能使用,而int变量不需要 
    3、Integer实际是对象的引用,当new一个Integer时,实际上是生成一个指针指向此对象;而int则是直接存储数据值 
    4、Integer的默认值是null,int的默认值是0

    public class IntAndIntegerTest {
        public static void main(String[] args) {
            // 方式一
            Integer a = new Integer(10);
            int b = 10;
            System.out.println(a == b); // true Integer拆箱为int 所以结果为true
                                        // 实际就是两个int变量在比较
    
            // 方式二
            Integer num1 = new Integer(10);
            Integer num2 = 10;
            System.out.println(num1 == num2); // 比较的内存地址 非 new生成的Integer变量指向java常量池
                                                // new生成的Integer变量指向堆中生成的新建对象
    
            // 方式三
            Integer n1 = new Integer(10);
            Integer n2 = new Integer(10);
            System.out.println(n1 == n2); // false
    
            // 方式四
    
            /**
             * 4、对于两个非new生成的Integer对象,进行比较时,如果两个变量的值在区间-128到127之间,则比较结果为true,
             * 如果两个变量的值不在此区间,则比较结果为false
             * 
             * java在编译Integer i = 100 ;时,会翻译成为Integer i = Integer.valueOf(100);
             */
    
            Integer i = 100;
            Integer j = 100;
            System.out.println(i == j); // true
    
            Integer i = 128;
            Integer j = 128;
            System.out.println(i1 == j1); // false
        }
    
    }
  • 相关阅读:
    网络安全基础——习题集
    文件上传
    python-nmap
    获得shell的几种姿势
    一句话木马
    svn: Failed to run the WC DB work queue associated svn的bug解决
    myEclipse卡顿解决
    myEclipse或eclipse复制或修改项目后的部署名称
    java跨域问题
    下拉框选中已选的选项查询操作
  • 原文地址:https://www.cnblogs.com/liutao1122/p/9242715.html
Copyright © 2011-2022 走看看