String.lines() pour diviser les lignes
Utilisez String.lines() pour diviser du texte en un stream de lignes sans la surcharge des expressions régulières.
Comparaison de Code
✕ Java 8
String text = "one\ntwo\nthree";
String[] lines = text.split("\n");
for (String line : lines) {
System.out.println(line);
}
✓ Java 11+
String text = "one\ntwo\nthree"; text.lines().forEach(IO::println);
Un problème avec ce code ? Dites-le nous.
Pourquoi la méthode moderne gagne
Streaming paresseux
Les lignes sont produites à la demande, pas toutes à la fois comme split().
Fins de ligne universelles
Gère , et automatiquement sans regex.
Intégration avec Stream
Retourne un Stream pour utilisation directe avec filter, map, collect.
Ancienne Approche
split("\\n")
Approche Moderne
lines()
Depuis JDK
11
Difficulté
Débutant
Support JDK
String.lines() pour diviser les lignes
Disponible
Disponible depuis JDK 11 (septembre 2018).
Comment ça fonctionne
String.lines() retourne un Stream<String> de lignes divisées par , ou . C'est plus paresseux et efficace que split(), évite la compilation de regex et s'intègre naturellement avec l'API Stream pour le traitement ultérieur.
Documentation Associée