java - List of Objects, how to set list[index].setter in for loop? -


good evening everyone.

have little problem list in java. let's start beggining. here method returns list query in hql :

public list<praktykientity> getpracticeofstudent(long nralbumu) {         query query = em.createquery("select p praktykientity p p.nralbumu=?1");         query.setparameter(1, nralbumu);         list list = query.getresultlist();         if (!list.isempty()) {             return list;         } else {             return null;         }     } 

then helper class :

public class praktykainfo {      public long idpraktykistudenckiej; //idofstudentpractice     public szablonypraktykentity szablonpraktyki; //templateofpractice     public praktykodawcyentity praktykodawca; //employer     public statusyentity statuspraktyki; //statusofpractice     public list<kierunkistudiowentity> kierunek; //course     public typypraktykentity typpraktyki; //typeofpractice     public lataakademickieentity rokakademicki; //academicyear     public list<studencientity> student;      public list<opiekunowiepraktykentity> opiekunpraktyki; //tutor     public list<koordynatorzypraktykentity> koordynatorpraktyki; //coordinator     public adresyentity adrespracodawcy; //employer's address     public porozumieniaentity porozumienie; //agreement} 

and want - list<praktykientity> first method, initialize new helper list<praktykainfo> , iterate through it, set correct object first list , return it. @ first thought list.get(i) work im getting error "index out of bounds". i've heard list.add , .set don't know how use them. here method. , know info.get(i) has nothing that's why encountering error "index out of bounds"

public list<praktykainfo> getpracticeofstudent(long nralbumu) {         list<praktykientity> list = ipraktykidao.getpracticeofstudent(nralbumu);         list<praktykainfo> info = new arraylist<praktykainfo>();         //system.out.println(list.size());         for(int = 0; i<list.size(); i++) {             praktykientity practice = ipraktykidao.getrow(list.get(i).getidpraktykistudenckiej());             if(practice !=null) {                 info.get(i).setidpraktykistudenckiej(practice.getidpraktykistudenckiej());                 info.get(i).setszablonpraktyki(iszablonypraktykdao.gettemplate(practice.getidszablonu()));                 info.get(i).setpraktykodawca(ipraktykodawcydao.findemployer(practice.getidpraktykodawcy()));                 info.get(i).setstatuspraktyki(istatusydao.getstatus(practice.getidstatusu()));                 info.get(i).setkierunek(ikierunkistudiowdao.getcourseinfo(practice.getidkierunku()));                 info.get(i).settyppraktyki(itypypraktykdao.gettypeoftraineeship(practice.getidtypupraktyki()));                 info.get(i).setrokakademicki(ilataakademickiedao.getyearofcourse(practice.getidrokuakademickiego()));                 if(practice.getnralbumu() !=null) {                     info.get(i).setstudent(istudencidao.getstudentinfo(practice.getnralbumu()));                 }                 info.get(i).setopiekunpraktyki(iopiekunowiepraktykdao.gettutorinfo(practice.getidopiekunapraktyk()));                 info.get(i).setkoordynatorpraktyki(ikoordynatorzypraktykdao.getcoordinatorinfo(practice.getidkoordynatorapraktyk()));                 info.get(i).setadrespracodawcy(iadresydao.findbyidadresu(practice.getidadresu()));                 if(practice.getidporozumienia() !=null) {                     info.get(i).setporozumienie(iporozumieniadao.getagreement(practice.getidporozumienia()));                 }             } else {                 return null;             }         }         return info;     } 

you indexoutofboundsexception because calling info.get(i) on empty list.

you can modify code this:

public list<praktykainfo> getpracticeofstudent(long nralbumu) {     list<praktykientity> list = ipraktykidao.getpracticeofstudent(nralbumu);     list<praktykainfo> info = new arraylist<praktykainfo>();     //system.out.println(list.size());     for(int = 0; i<list.size(); i++) {         praktykientity practice = ipraktykidao.getrow(list.get(i).getidpraktykistudenckiej());         if(practice !=null) {             praktykainfo pi = new praktykainfo();             pi.setidpraktykistudenckiej(practice.getidpraktykistudenckiej());             pi.setszablonpraktyki(iszablonypraktykdao.gettemplate(practice.getidszablonu()));             pi.setpraktykodawca(ipraktykodawcydao.findemployer(practice.getidpraktykodawcy()));             pi.setstatuspraktyki(istatusydao.getstatus(practice.getidstatusu()));             pi.setkierunek(ikierunkistudiowdao.getcourseinfo(practice.getidkierunku()));             pi.settyppraktyki(itypypraktykdao.gettypeoftraineeship(practice.getidtypupraktyki()));             pi.setrokakademicki(ilataakademickiedao.getyearofcourse(practice.getidrokuakademickiego()));             if(practice.getnralbumu() !=null) {                 pi.setstudent(istudencidao.getstudentinfo(practice.getnralbumu()));             }             pi.setopiekunpraktyki(iopiekunowiepraktykdao.gettutorinfo(practice.getidopiekunapraktyk()));             pi.setkoordynatorpraktyki(ikoordynatorzypraktykdao.getcoordinatorinfo(practice.getidkoordynatorapraktyk()));             pi.setadrespracodawcy(iadresydao.findbyidadresu(practice.getidadresu()));             if(practice.getidporozumienia() !=null) {                 pi.setporozumienie(iporozumieniadao.getagreement(practice.getidporozumienia()));             }             info.add(pi);         } else {             return null;         }     }     return info; } 

Comments

Popular posts from this blog

c++ - Delete matches in OpenCV (Keypoints and descriptors) -

java - Could not locate OpenAL library -

sorting - opencl Bitonic sort with 64 bits keys -