List初始化是否为 null?

时间:2021-08-31 19:36:35

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

#2


 List list_one = new ArrayList();意思就是创建一个ArrayList对象,里面有0个对象。

#3


该回复于2011-03-21 15:38:59被版主删除

#4


List list_one = new ArrayList();
你这句话已经为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();这时才是存在的

#10


List初始化是否为 null?楼上讲的很精彩啊~
建议楼主去了解下堆内存与栈内存……

#11


引用 4 楼 crystalangle 的回复:
List list_one = new ArrayList();
你这句话已经为list_one创建了实例,jvm已经为list_one分配了空间,只是列表中没有元素

List list_one = null;
这句话只是声明了一个List,并未分配空间,是一个空的引用,此时如果你使用list_one.size()就会报空指针异常
说的有道理

#12


该回复于2011-03-21 16:47:43被版主删除

#13


哈哈 明白了~
火速结贴  谢谢大家~~~

#1


楼主不清楚null是啥啊
null是不存在这个对象
你已经new了一个list,所以这个引用不为NULL

#2


 List list_one = new ArrayList();意思就是创建一个ArrayList对象,里面有0个对象。

#3


该回复于2011-03-21 15:38:59被版主删除

#4


List list_one = new ArrayList();
你这句话已经为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();这时才是存在的

#10


List初始化是否为 null?楼上讲的很精彩啊~
建议楼主去了解下堆内存与栈内存……

#11


引用 4 楼 crystalangle 的回复:
List list_one = new ArrayList();
你这句话已经为list_one创建了实例,jvm已经为list_one分配了空间,只是列表中没有元素

List list_one = null;
这句话只是声明了一个List,并未分配空间,是一个空的引用,此时如果你使用list_one.size()就会报空指针异常
说的有道理

#12


该回复于2011-03-21 16:47:43被版主删除

#13


哈哈 明白了~
火速结贴  谢谢大家~~~