๊ธ€ ์ž‘์„ฑ์ž: ์ด์ง€์›๐ŸŒฉ๏ธ
@Log4j
public class Main {
public static ArrayList<String> items = new ArrayList<String>();
public static ArrayList<Integer> itemNo = new ArrayList<Integer>();
public static void main(String[] args) {
Service service = new Service();
service.getNo();
for (int i: itemNo) {
service.getDetail(i);
log.info(items.size());
}
log.info(items.size());
}
}
public class Service {
public void getNo() {
// ... ์ƒ๋žต ...
for (int i : no) {
Main.itemNo.add(i);
}
}
public void getDetail() {
String itemDetail = new String();
// ... ์ƒ๋žต ...
Main.items.add(itemDetail);
}
}

์œ„ ์ฝ”๋“œ์™€ ๋น„์Šทํ•œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ–ˆ๋‹ค. ๋‚˜๋Š” getDetail()์—์„œ ๋งŒ๋“  ๋ฐ์ดํ„ฐ๋ฅผ Main ํด๋ž˜์Šค์—์„œ ์„ ์–ธํ•œ ์ „์—ญ ๋ณ€์ˆ˜์— ์ €์žฅํ•˜๊ณ  ์‹ถ์—ˆ๋‹ค. Main ํด๋ž˜์Šค 13๋ฒˆ์งธ ์ค„, ๊ทธ๋Ÿฌ๋‹ˆ๊นŒ for๋ฌธ ์•ˆ์—์„œ๋Š” items.size()๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด ๋กœ๊ทธ์— ์ž˜ ์ฐํžˆ๋Š”๋ฐ, 16๋ฒˆ์งธ ์ค„, for๋ฌธ์ด ๋๋‚˜๊ณ  ๋‚œ ํ›„์—๋Š” index 0 out of bounds for length 0 ๋ผ๋Š” ์˜ค๋ฅ˜๊ฐ€ ๋–ด๋‹ค. getNo()๋„ getDetail()๊ณผ ๋˜‘๊ฐ™์ด ์ „์—ญ ๋ณ€์ˆ˜์— ๊ฐ’์„ ์ €์žฅํ•˜๋Š” ๋ฐ itemNo๋Š” ์ดˆ๊ธฐํ™”๊ฐ€ ๋˜์ง€ ์•Š์•˜๋‹ค. ์ „์—ญ ๋ณ€์ˆ˜๋ฅผ ์ด๋ ‡๊ฒŒ ์“ฐ๋Š” ๊ฒŒ ์•„๋‹ˆ์—ˆ๋˜ ๊ฑธ๊นŒ? ์ด์ƒํ•˜๊ฒŒ๋„ ๋ฐ˜๋ณต๋ฌธ์ด ๋๋‚˜๋ฉด ์ „์—ญ ๋ณ€์ˆ˜๊ฐ€ ์ดˆ๊ธฐํ™”๋๋‹ค.

 

๋‚˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ฝ”๋“œ ์ผ๋ถ€๋ฅผ ์ˆ˜์ •ํ•ด์„œ ํ•ด๊ฒฐํ–ˆ๋‹ค.

@Log4j
public class Main {
public static ArrayList<String> items = new ArrayList<String>();
public static ArrayList<Integer> itemNo = new ArrayList<Integer>();
public static void main(String[] args) {
Service service = new Service();
service.getNo();
for (int i: itemNo) {
String it = service.getDetail(i);
if (it != null) {
items.add(it);
}
}
log.info(items.size());
}
}
public class Service {
public void getNo() {
// ... ์ƒ๋žต ...
}
public String getDetail() {
String itemDetail = new String();
// ... ์ƒ๋žต ...
return itemDetail;
}
}

๋ฐ˜๋ณต๋ฌธ์ด ๋๋‚˜๊ณ ๋„ ์ •์ƒ์ ์œผ๋กœ items.size()๊ฐ€ ์ถœ๋ ฅ๋œ๋‹ค. ๊ทธ๋ ‡์ง€๋งŒ ๋ฌธ์ œ ํ•ด๊ฒฐ์„ ์œ„ํ•ด ์ˆ˜์ •ํ•œ ๋ฐฉ์‹์ด ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ž‘์„ฑํ•œ ์ฝ”๋“œ์ธ์ง€ ๋ชจ๋ฅด๊ฒ ๋‹ค.

-

๊ธฐ๋ก์šฉ๐Ÿค”

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€

๋Œ“๊ธ€์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.