이펙티브 자바/9장 일반적인 프로그래밍 원칙 12

아이템 58 전통적인 for 문보다는 for-each 문을 사용하라

- 무언가를 할 때 필요한 것이 원소 뿐이라면 인덱스 변수나 반복자들은 기능하는 곳 없이 오류 가능성을 높일 뿐이다. 그럴 때는 for-each 문을 사용하는 편이 낫다. - 그러나 for-each 문을 사용할 수 없는 상황이 세 가지 존재한다. 파괴적인 필터링(destructive filtering) - 컬렉션을 순회하면서 그 컬렉션의 원소를 제거. => ConcurrentModificationException이 발생한다. => Collection의 removeIf 메서드를 사용 public boolean removeIf(Predicate

아이템57 지역변수의 범위를 최소화하라

- 지역변수의 범위를 줄이는 가장 강력한 기법은 역시 '가장 처음 쓰일 때 선언하기'다. - 거의 모든 지역변수는 선언과 동시에 초기화해야 한다. - 반복자를 사용해야 하는 상황이면 for-each문 대신 전통적인 for문을 쓰는 것이 낫다. for의 괄호 안에 자동으로 반복하는 로직을 작성할 수 있기 때문이다. for (초기화식; 조건식; 증감식) { // 반복할 코드 블록 } - 변수를 반복문 종료 후에도 사용해야 하는 상황이 아니라면 변수 범위에 제한이 없는 while문 보다는 변수 범위를 최소화해주는 for문이나 for-each 형태를 쓰는 편이 낫다. 오류 가능성이 낮아진다. 그리고 컴파일 시점에도 오류를 잡을 수 있다. - 지역변수 범위를 최소화하는 마지막 방법은 메서드를 작게 유지하고 한 가..