Ce face String.indent
indent(n) împarte șirul în rânduri și adaugă n spații la începutul fiecăruia. Cu n negativ, scoate până la |n| spații albe de la începutul fiecărui rând. Rezultatul are mereu rândurile terminate cu \n, inclusiv ultimul.
stripIndent() (Java 15) găsește cea mai mică indentare comună tuturor rândurilor și o elimină, păstrând structura relativă. Elimină și spațiile de la finalul rândurilor. Este exact ce face compilatorul automat pentru text blocks; metoda e utilă pentru text venit din alte surse.
Parametri
| Parametru | Descriere |
|---|---|
n |
Câte spații se adaugă (pozitiv) sau se scot (negativ) pe fiecare rând. |
Ce returnează
Un șir nou, cu rândurile ajustate.
Exemple
Exemplul 1: Indentarea unui bloc de text
Punctele de la capătul rândurilor arată că indent pune \n și după ultimul rând.
public class Main {
public static void main(String[] args) {
String lista = "pâine\nlapte\nouă";
System.out.print(lista.indent(4));
System.out.println(".");
String adanc = " Iași\n Copou";
System.out.print(adanc.indent(-4));
}
}
Rezultat
pâine
lapte
ouă
.
Iași
Copou
Exemplul 2: stripIndent pe un text indentat
public class Main {
public static void main(String[] args) {
String cod = " if (nota >= 5) {\n System.out.println(\"Admis\");\n }";
System.out.println(cod.stripIndent());
}
}
Rezultat
if (nota >= 5) {
System.out.println("Admis");
}
Greșeli frecvente
- Folosești
printdupăindentși te miri de rândul gol în plus cuprintln.indentadaugă deja\nla final. - Aștepți ca
stripIndent()să scoată toate spațiile: păstrează indentarea relativă dintre rânduri.
Comenzi înrudite
String.strip: Elimină spațiile de la începutul și sfârșitul șirului; stripLeading/stripTrailing doar dintr-o parte.String.lines: Împarte șirul în rânduri și le returnează ca Stream<String>, recunoscând \n, \r și \r\n.String.translateEscapes: Transformă secvențele scrise ca text (\n, \t, \”, \\) în caracterele reale, ca într-un literal Java.String: Clasa pentru text în Java: un șir de caractere care nu se mai poate modifica după ce a fost creat.