본문 바로가기
Android 개발/android :: warning & error

[안드로이드] 경고: 'for' loop replaceable with 'foreach' 차이는 무엇일까?

by 독학하는 1인 개발자 2019. 9. 2.

Android 개발 Warning과 Error

 

- Android loop Warning

 

for VS foreach

 

반복문 차이와 경고 해결 방법

 

 

 

 

 

 

 

for문을 사용하면

 

간혹 다음과 같은 경고를 볼 수 있다.

 

'for' loop replaceable with 'foreach'

 

 

오류가 발생할 수 있다는 경고라기보다는

 

for문을 foreach로 바꾸라고 추천하는 내용이다.

 

 

 

경고를 해결하는 방법은

 

foreach문으로 바꾸는 것이다.

 

 

그런데, 왜 바꾸라는 것일까?

 

 

 

우선 for문과 foreach문의 차이는 무엇인지나 알아보자.

 

 

코딩을 하다가 for문을 사용할 때

 

변수가 하나이고 단순한 반복문의 경우

 

foreach문으로 바꾸라는 경고문이 뜬다.

 

그래서 바꿔보면 확실히 코드가 조금 더 간결해진다.

 

 

변경 전 for문

1
2
3
for(int i=0; i<myCheckBox.length; i++){
     myCheckBox[i].performClick();
}
cs

 

 

변경 후 foreach문

1
2
3
for (CheckBox checkBox : myCheckBox) {
     checkBox.performClick();
}
cs

 

 

for문과 비교하여

foreach문의 장점은?

 

-> 일반적으로 i로 나타내는 숫자값을 쓸 필요가 없다는 점이다.

 

 

 

그런데 말입니다.

 

 

저 둘의 차이가 무엇인고 열심히 구글링을 해본 결과.

 

그냥 내부 코드상의 차이가 조금 있을 뿐인데

 

어쨌든 for문이 속도가 더 빠르다는 것이다.

 

for문이 더 빠른데 왜 안드로이드 놈들은 foreach를 쓰라고 경고까지 날리는지는 모르겠지만

 

일단은 무시하고 for문을 계속 쓰기로 한다.

 

 

 

댓글