String.indent() i transform()
Wciskaj tekst i łącz transformacje ciągów płynnie.
Porównanie kodu
✕ Java 8
String[] lines = text.split("\n");
StringBuilder sb = new StringBuilder();
for (String line : lines) {
sb.append(" ").append(line)
.append("\n");
}
String indented = sb.toString();
✓ Java 12+
String indented = text.indent(4);
String result = text
.transform(String::strip)
.transform(s -> s.replace(" ", "-"));
Widzisz problem z tym kodem? Daj nam znać.
Dlaczego nowoczesne podejście wygrywa
Wbudowane
Wcięcia to częsta operacja — teraz to jedno wywołanie.
Łańcuchowalność
transform() umożliwia płynne potoki na ciągach.
Czysty kod
Bez ręcznego dzielenia linii i pętli StringBuilder.
Stare podejście
Ręczne wcięcia
Nowoczesne podejście
indent() / transform()
Od JDK
12
Poziom trudności
Początkujący
Wsparcie JDK
String.indent() i transform()
Dostępne
Szeroko dostępne od JDK 12 (marzec 2019)
Jak to działa
indent(n) dodaje n spacji do każdej linii. transform(fn) stosuje dowolną funkcję i zwraca wynik, umożliwiając płynne łańcuchowanie operacji na ciągach.
Powiązana dokumentacja
Dowód