2012-12-29 5 views
0

개체 (학생)가 채워진 ArrayList 컬렉션이 있습니다. 이제 채워진 개체를 메서드 서명에 전달하여 모든 고유 개체를 파일에 쓰려고합니다. .Java에서 메서드의 매개 변수로 개체 컬렉션을 전달하는 방법

public static ArrayList<PopulateAlumnosObj> populateAlumnos(int idAlumno, String nombreAlumno) { 
    ArrayList<PopulateAlumnosObj> alumnosList = new ArrayList<PopulateAlumnosObj>(); 
    for (int i = 0; i <= 100; i++) { 
     mPopulateAlumnosObj = new PopulateAlumnosObj(i, nombreAlumno);  
     mPopulateAlumnosObj.setTelefonoAlumno("5555-5555"+i); 
     mPopulateAlumnosObj.setDireccionAlumno("Dirección"+i); 
     alumnosList.add(mPopulateAlumnosObj); 
    } 
    return alumnosList; 
} 

*Here I receive the populate objct.* 

ArrayList<PopulateAlumnosObj> mReceiveAlumnosObjList = new ArrayList<PopulateAlumnosObj>(); 
    mReceiveAlumnosObjList = populateAlumnos(1, "Isaías"); 
    writeToFile(mReceiveAlumnosObjList); 

    *This does not work!* 

    public static void writeToFile(ArrayList<PopulateAlumnosObj> aAlumnoToFile) { 

이제 작동합니다! 나는 이것을 놓치고 있었다! 어쨌든 고마워, .

  for (PopulateAlumnosObj eachAlumnoToFile : aAlumnoToFile) { 
      pw.println(eachAlumnoToFile.getIdAlumno() + "\t"); 
      pw.println(eachAlumnoToFile.getNombreAlumno() + "\t\t"); 
      pw.println(eachAlumnoToFile.getTelefonoAlumno() + "\t\t"); 
      pw.println(eachAlumnoToFile.getDireccionAlumno() + "\t\t"); 
     } 

나는 수집 등으로 연습하고 있습니다. 하지만 조언을 부탁드립니다. 여러분 모두에게 감사드립니다.

+0

"이 작동하지 않습니다"... 당신의 PopulateAlumnosObj 생성자와 세터 ... 그들은 이상하게 보일 확실하지 않다입니다 정보가 충분하지 않습니다. http://tinyurl.com/so-list –

+0

을 읽으십시오 writeToFile() 함수를 귀하의 시도로 채운 다음 이야기합시다. – Sanchit

+1

코드를 올바르게 포맷하십시오. 읽을 수있게 해줍니다. – MrSmith42

답변

1
  1. ArrayList을 두 번 인스턴스화하지 마십시오. 인스턴스화는 populateAlumnos 메서드 내에서만 수행하십시오.
  2. 귀하의 mPopulateAlumnosObj 선언이 표시되지 않습니다. PopulateAlumnosObj mPopulateAlumnosObj;과 같은 것은 populateAlumnos 안에 있어야합니다.
  3. ArrayListwriteToFile 방법으로 전달하는 것이 올바르게 보입니다.
+0

나는 이미 그것을 고쳤다. 당신은 업데이트 된 버전을 볼 수있다. –

+1

@ IsaíasSosa ok,하지만 당신의'ArrayList'는 여전히 두 번 인스턴스화됩니다. – bellum

+0

고맙습니다 지금 당장 고쳐 드리겠습니다. –

0

이 같을 수 있습니다 :

List<PopulateAlumnosObj> populateAlumnos = new ArrayList<PopulateAlumnosObj>(100); 

     for (int i = 0; i <= 100; i++) { 
      PopulateAlumnosObj mPopulateAlumnosObj = new PopulateAlumnosObj(i, nombreAlumno); 
      mPopulateAlumnosObj.setTelefonoAlumno("5555-5555"+i); 
      mPopulateAlumnosObj.setDireccionAlumno("Dirección"+i); 
      populateAlumnos.add(mPopulateAlumnosObj); 
     } 

     for(PopulateAlumnosObj student: populateAlumnos) { 
      writeToFile(student); 
     } 

     public void writeToFile(PopulateAlumnosObj alumnos) { //method implementation... 

하지만

관련 문제