스트림으로서의 문자열 문자
스트림 파이프라인으로 문자열 문자를 처리합니다.
코드 비교
✕ Java 8
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
if (Character.isDigit(c)) {
process(c);
}
}
✓ Java 9+
str.chars()
.filter(Character::isDigit)
.forEach(c -> process((char) c));
이 코드에 문제가 있나요? 알려주세요.
모던 방식이 더 나은 이유
체이닝 가능
문자 스트림에 filter, map, collect를 사용합니다.
선언적
어떻게 루프를 돌릴지가 아닌 무엇을 할지를 설명합니다.
유니코드 준비
codePoints()는 이모지와 보조 문자를 올바르게 처리합니다.
이전 방식
수동 루프
모던 방식
chars() 스트림
JDK 버전
9
난이도
초급
JDK 지원
스트림으로서의 문자열 문자
사용 가능
JDK 8 이상에서 사용 가능 (9 이상에서 개선)
동작 원리
String.chars()는 문자 값의 IntStream을 반환하여 함수형 파이프라인 처리를 가능하게 합니다. filter, map, collect를 문자 스트림에 사용하세요.
관련 문서