죄송이 예에서 널 명확한 문을 이해할 수 없다, 내가하고 null 값을 할당하는 명확한 방법으로 목록 개체를 테스트이 불쌍한 내 영어에 대한
여기코드
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.clear();를 사용하여 tl1.list를 지우는 것입니다. 그런 다음이 값을 인쇄하십시오. 그러나이 tl1.list에 null을 지정하면 값이 어떻게 출력됩니까?
m 답변을 주신 내용을 묻는 것이지만 여전히 null로 목록을 지정하고 mainList에 보관하는 방법을 혼동하는 경우에도 여전히 혼란 스럽습니까? 그 루프에 대한 tl1.list를 통해 가서 nullpointer 예외를 얻지 만 이해할 수없는 tl1.mainList가 아닌 경우 null이되어야합니다. – Pratik
이것은 객체 지향이 작동하는 방식으로 객체 참조를 변수에 할당하는 방법입니다. 변수를 널 (null)로 설정하면 ('tl1.list = null') 참조만을 제거합니다. [Java 자습서] (http://download.oracle.com/javase/tutorial/java/index.html)를보십시오. – home