Strings Начинающий

Обработка символов строки в виде конвейера потока.

✕ 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 к потокам символов.

📐

Декларативный стиль

Описывает что делать, а не как итерировать.

🌐

Поддержка Unicode

codePoints() корректно обрабатывает эмодзи и дополнительные символы.

Старый подход
Ручной цикл
Современный подход
Поток chars()
Начиная с JDK
9
Сложность
Начинающий
Символы строки как поток
Доступно

Доступно с JDK 8+ (улучшено в 9+)

String.chars() возвращает IntStream значений символов, обеспечивая функциональную обработку. Для поддержки Unicode метод codePoints() корректно обрабатывает дополнительные символы.