import java.util.*;
class test{
private int a;
public int getA() {
return a;
}
public void setA(int a) {
this.a = a;
}
}
public class ListTest {
public static void main(String args[]){
List list_one = new ArrayList();
if(list_one.size()==0)
System.out.println("我是list_one,我的长度为0");
if(list_one==null)
System.out.println("我是list_one,我等于null");
List list_two = new ArrayList<test>();
if(list_two.size()==0)
System.out.println("我是list_two,我的长度为0");
if(list_two==null)
System.out.println("我是list_two,我等于null");
}
}
输出的只是
我是list_one,我的长度为0
我是list_two,我的长度为0
我还没往list里add东西,为什么它不为null呢?
13 个解决方案
#1
楼主不清楚null是啥啊
null是不存在这个对象
你已经new了一个list,所以这个引用不为NULL
null是不存在这个对象
你已经new了一个list,所以这个引用不为NULL
#2
List list_one = new ArrayList();意思就是创建一个ArrayList对象,里面有0个对象。
#3
#4
List list_one = new ArrayList();
你这句话已经为list_one创建了实例,jvm已经为list_one分配了空间,只是列表中没有元素
List list_one = null;
这句话只是声明了一个List,并未分配空间,是一个空的引用,此时如果你使用list_one.size()就会报空指针异常
你这句话已经为list_one创建了实例,jvm已经为list_one分配了空间,只是列表中没有元素
List list_one = null;
这句话只是声明了一个List,并未分配空间,是一个空的引用,此时如果你使用list_one.size()就会报空指针异常
#5
你只要New了 系统内存会就会给你分配空间, 就不会指向空地址, 集合中没有元素并不代表集合为null
#6
null 是指对象还没在内存里开辟空间
#7
new 后就分配空间,list有默认的分配空间,还没有存放时里面是没有对象的
#8
new一个肯定不会为空了,否则当你调用add()时就会出现著名的java.lang.NullPointerException
#9
当你声明List list_one;的时候 这时候 list_one为null;
List list_one=new ArrayList();这个时候list_one部位null
告诉你最好辨别方法 :
当妈妈怀上孩子的时候 就相当于声明了 List list_one;
孩子落地 就相当于 List list_one=new ArrayList();这时才是存在的
List list_one=new ArrayList();这个时候list_one部位null
告诉你最好辨别方法 :
当妈妈怀上孩子的时候 就相当于声明了 List list_one;
孩子落地 就相当于 List list_one=new ArrayList();这时才是存在的
#10
楼上讲的很精彩啊~
建议楼主去了解下堆内存与栈内存……
建议楼主去了解下堆内存与栈内存……
#11
说的有道理
#12
#13
哈哈 明白了~
火速结贴 谢谢大家~~~
火速结贴 谢谢大家~~~
#1
楼主不清楚null是啥啊
null是不存在这个对象
你已经new了一个list,所以这个引用不为NULL
null是不存在这个对象
你已经new了一个list,所以这个引用不为NULL
#2
List list_one = new ArrayList();意思就是创建一个ArrayList对象,里面有0个对象。
#3
#4
List list_one = new ArrayList();
你这句话已经为list_one创建了实例,jvm已经为list_one分配了空间,只是列表中没有元素
List list_one = null;
这句话只是声明了一个List,并未分配空间,是一个空的引用,此时如果你使用list_one.size()就会报空指针异常
你这句话已经为list_one创建了实例,jvm已经为list_one分配了空间,只是列表中没有元素
List list_one = null;
这句话只是声明了一个List,并未分配空间,是一个空的引用,此时如果你使用list_one.size()就会报空指针异常
#5
你只要New了 系统内存会就会给你分配空间, 就不会指向空地址, 集合中没有元素并不代表集合为null
#6
null 是指对象还没在内存里开辟空间
#7
new 后就分配空间,list有默认的分配空间,还没有存放时里面是没有对象的
#8
new一个肯定不会为空了,否则当你调用add()时就会出现著名的java.lang.NullPointerException
#9
当你声明List list_one;的时候 这时候 list_one为null;
List list_one=new ArrayList();这个时候list_one部位null
告诉你最好辨别方法 :
当妈妈怀上孩子的时候 就相当于声明了 List list_one;
孩子落地 就相当于 List list_one=new ArrayList();这时才是存在的
List list_one=new ArrayList();这个时候list_one部位null
告诉你最好辨别方法 :
当妈妈怀上孩子的时候 就相当于声明了 List list_one;
孩子落地 就相当于 List list_one=new ArrayList();这时才是存在的
#10
楼上讲的很精彩啊~
建议楼主去了解下堆内存与栈内存……
建议楼主去了解下堆内存与栈内存……
#11
说的有道理
#12
#13
哈哈 明白了~
火速结贴 谢谢大家~~~
火速结贴 谢谢大家~~~