OutOfMemory Error

3087 단어 OutOfMemory
    public static void getAllDataList(List<Data> dataList){
for(int i=0; i<dataList.size(); i++){
String term = dataList.get(i).getTerm() + " ";
String type = dataList.get(i).getType() + " ";
for(int j=i+1; j<dataList.size(); j++){
term = term + dataList.get(j).getTerm() + " ";
type = type + dataList.get(j).getType() + " ";
dataList.add(new Data(type, term, null));
}
}
}

위의 코드는 데이터 목록 때문에 메모리 유출이 발생할 수 있습니다.size () 의 값은 끊임없이 증가합니다. 순환 안에 dataList가 있기 때문입니다.add, 그래서 무한 순환입니다.
다음과 같이 수정합니다.
    public static void getAllDataList(List<Data> dataList){
int length = dataList.size();
for(int i=0; i<length; i++){
String term = dataList.get(i).getTerm() + " ";
String type = dataList.get(i).getType() + " ";
for(int j=i+1; j<length; j++){
term = term + dataList.get(j).getTerm() + " ";
type = type + dataList.get(j).getType() + " ";
dataList.add(new Data(type, term, null));
}
}
}

좋은 웹페이지 즐겨찾기