对不起,我的英文不好,我测试有明确的方法List对象并指定空值无法与空和明确的声明明白在这个例子中
这里是代码
public class TestList {
private List<String> list;
private List<List<String>> mainList;
public TestList(){
list = new ArrayList<String>();
mainList = new ArrayList<List<String>>();
}
public static void main(String arg[]){
String[] mylist = {"sunday","monda","tuesday","wednesday","thurday","friday","saturday"};
TestList tl1 = new TestList();
for(String s : mylist)
tl1.list.add(s);
tl1.mainList.add(tl1.list);
//tl1.list.clear(); // here if clear then not getting the list
tl1.list = null; ///// but here to assign null still getting list
System.out.println("after clear");
System.out.println();
for(List<String> list : tl1.mainList){
for(String s : list){
System.out.println(s);
}
}
}
}
所以我的问题是当我清除tl1.list使用tl1.list.clear();然后打印它的值是明确的,但是当我将这个tl1.list赋值为null时,它将打印值如何?
m问这个无论你在这里给出的答案,但仍然混淆,当我将列表分配为null,然后如何保持mainList?如果我只通过for循环中的tl1.list,然后得到空指针异常,而不是tl1.mainList,那么它就应该为空。 – Pratik
这就是对象定向的工作方式,即将对象引用赋值给变量。如果将变量设置为null('tl1.list = null'),则只能删除引用。看看[Java教程](http://download.oracle.com/javase/tutorial/java/index.html)。 – home