์ ์ญ๋ณ์๋ ์ ๋ฐ๋ณต๋ฌธ์ด ๋๋๋ฉด ์ด๊ธฐํ ๋ ๊น?
@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
๋๊ธ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.