์ ์ญ๋ณ์๋ ์ ๋ฐ๋ณต๋ฌธ์ด ๋๋๋ฉด ์ด๊ธฐํ ๋ ๊น?
@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()
๊ฐ ์ถ๋ ฅ๋๋ค. ๊ทธ๋ ์ง๋ง ๋ฌธ์ ํด๊ฒฐ์ ์ํด ์์ ํ ๋ฐฉ์์ด ์ฌ๋ฐ๋ฅด๊ฒ ์์ฑํ ์ฝ๋์ธ์ง ๋ชจ๋ฅด๊ฒ ๋ค.
-
๊ธฐ๋ก์ฉ๐ค
๋๊ธ
์ด ๊ธ ๊ณต์ ํ๊ธฐ
-
๊ตฌ๋
ํ๊ธฐ
๊ตฌ๋ ํ๊ธฐ
-
์นด์นด์คํก
์นด์นด์คํก
-
๋ผ์ธ
๋ผ์ธ
-
ํธ์ํฐ
ํธ์ํฐ
-
Facebook
Facebook
-
์นด์นด์ค์คํ ๋ฆฌ
์นด์นด์ค์คํ ๋ฆฌ
-
๋ฐด๋
๋ฐด๋
-
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
-
Pocket
Pocket
-
Evernote
Evernote