首先要明白栈内存和堆内存的区别,具体的值,比如int i = 5,这个值是放在栈内存中,Integer i = new Integer();这个i对象是放在堆内存中,而i(引用变量)是在栈内存中 。
以long为例
long是基本数据类型
当没有给该变量赋值时,该变量初始化值为0;在做语句判断的时候就不能用if(i==null){}做判断了,而是要用if(i==0){}
Long是包装类
当没有给该对象赋值时候,该对象的初始化值为null,此时判断就要用if(i==null){}
当需要往ArrayList,HashMap中放东西时,像int,double这种基本类型是放不进去的,因为容器都是装object的,这是就需要这些基本类型的外覆类了
比如List<Integer> list = new ArrayList<Integer>();