2014-05-25 2 views
0

다른 파일에서 arrayList에 액세스하려고했습니다. 그러나 내가 크기를 실행했을 때 0을 반환했습니다.크기를 반환하는 다른 클래스의 ArrayList에 액세스

그러나 실행중인 클래스에서이를 실행하면 값이 반환됩니다. 그것은 다른 클래스에서 액세스 할 수없는 것으로 나는 그것을 잘못 액세스하고있는 것 같습니다.

public void test() 
    { 

    ArrayList<Events> eventArrayList = (new ReadFile()).getList(); 



    System.out.println(eventArrayList.size()); 
    } 



public class ReadFile 
{ 


//Event arraylist 
public ArrayList<Events> eventArrayList = new ArrayList<Events>(); 

    System.out.println(eventArrayList.get(0).events); 

    public ArrayList<Events> getList() 
{ 
    ArrayList<Events> eventArrayList = new ArrayList<Events>(); 

    return eventArrayList; 


} 

} 
+0

요소를 추가하지 않고 새 목록을 반환합니다. 따라서 List의 요소 수는 0입니다. – Jens

+1

1. 둘 이상의 클래스 사용을 중단하십시오. 2.하려는 일을 다하십시오. 3. 돌아가서 수업에 대해 배웁니다. – immibis

답변

0

getList()으로 전화 할 때마다 목록을 "재설정"합니다. 첫 번째 코드 줄을 제거하십시오.

public ArrayList<Events> getList() { 
    return eventArrayList; 
} 

또한, 당신은 List<Events>를 반환해야합니다 (당신이 구현이 사용되는 공개 할 필요가 없습니다) 및 다른 객체를 변경하지 않는 경우에는 목록 만 목록의 사본을 반환하지합니다 (참조로 전달되므로 변경하면 변경 될 것입니다).

관련 문제