01 : 반복에서 스트림 연산으로컬렉션을 처리할 때 보통은 요소들을 순회하며 값에 접근한다. 예를 들면 책에서 모든 긴 단어의 수를 고려하는 예제를 살펴보자 123String contents = new String(Files.readAllBytes( Paths.get("alice.txt")), StandardCharsets.UTF_8);List words = Arrays.asList(contents.split("[\\P{L}]+")); "alice.txt"에 있는 단어를 words 리스트에 넣었다. 1234int count = 0;for(String w : words){ if(w.length() > 12) count++;} 단어의 길이가 12이상인 단어의 개수를 세는 전통적인 순회 방식이다. 하지만 이 ..
08 : 인터페이스의 정적 메서드 일반적으로 인터페이스를 동반하는 클래스들에 정적 메서드를 두었다. 자바 표준 라이브러리에서 Collection/Collections 또는 Path/Paths 같은 인터페이스와 유티리티 클래스 쌍이 대표적이다. Paths 클래스를 살펴보자. 이 클래스는 몇 가지 팩토리 메서드(Factory method)만 포함하고 있다. Paths.get("jdk1.8.0", "jre", "bin")처럼 일련의 문자열로부터 경로(Path)를 만들 수 있다. 자바 8에서는 Path 인터페이스에 이 메서드를 추가할 수도 있었다. 123456public interface Path{ public static Path get(String first, String ... more){ return F..