0
문제의 근원이라고 생각되는 코드의 일부를 넣었으나 지금은 왜 StackOverFlow에 있는지 알 수 없습니다. 어쨌든이 클래스는 내 데이터를 설정하고 배열로 전달하는 곳입니다.배열 결과 마지막 결과 얻기 계속
public ArrayList<select.rates> caseGetRates() throws RateTableException, SessionDisconnectedException {
try {
for(int i=0;i < arrayRate.size();i++){
ArrayList<select.rates> arr = new ArrayList<select.rates>();
this.setPair(array[0]);
this.setBid((array[2]));
this.setAsk((array[3]));
arr.add(this);
}
return arr;
} finally{}
}
내가이 클래스에 설정된 데이터를 System.out.print
때 저를 제공합니다 정확하고 내가이를 통과 할 때 내 webpage.However에 표시 할 내용
EUR/USD
1.12372
1.12384
USD/JPY
100.622
100.641
내 Servlet
try {
ArrayList<select.rates> rates = example.caseGetRates();
for(int i=0;i < rates.size();i++){
System.out.println("");
System.out.println(rates.get(i).getPair());
System.out.println(rates.get(i).getBid());
System.out.println(rates.get(i).getAsk());
}
request.setAttribute("rates", rates);
}
request.getRequestDispatcher("/NewFile.jsp").forward(request, response);
내 서블릿에서 얻을 결과 데이터는 다음과 같습니다
USD/JPY
100.622
100.641
USD/JPY
100.622
100.641
결과가 두 번 반복되지만 데이터가 덮어 써진 것처럼 보입니다. 왜 이런 일이 발생하는지 아직 알 수 없습니다. 누군가 내 실수를 지적 할 수 있기를 바랍니다.
을 위해 ArrayList 추가되는 새로운 객체를 생성 ''arr.add (this);''를 사용하여 여러 번. – f1sh
arr 로컬 변수의 범위를 확인하십시오. for 루프 외부에 있어야 반환 할 수 있습니다. 또한 이것에 대한 새로운 객체를 만들고 그것을 설정하고 Arraylist에 추가하십시오. –
자바의 핵심 기본 사항에 대해 학습하고 학습하십시오. ** 같은 ** 객체를 일부 콜렉션에 반복해서 추가하면 어떻게됩니까? JSP 나 서블릿에 지나친 부담을 느끼지 마십시오. 여러분이 * this *를 사용할 때 일어나는 일을 이해하지 못할 때도 있습니다. – GhostCat