Ce face String.repeat
"ab".repeat(3) returnează "ababab". Cu n = 0 rezultatul este textul gol; un n negativ aruncă IllegalArgumentException. Este util pentru linii de separare și pentru desene simple în consolă.
Operatorul + apelează funcția plus: "Bună " + nume creează un text nou. Partea din dreapta poate fi de orice tip; este transformată automat în text. În cod Kotlin obișnuit, string templates ("Bună $nume") sunt de obicei mai ușor de citit.
Fiecare + creează un obiect nou. Pentru texte construite în bucle mari folosește buildString.
Parametri
| Parametru | Descriere |
|---|---|
n |
De câte ori se repetă textul (0 sau mai mult). |
Ce returnează
Un String nou.
Exemple
Exemplul 1: Linii de separare
repeat desenează o linie de lungimea titlului.
fun main() {
val titlu = "Raport lunar"
println(titlu)
println("=".repeat(titlu.length))
println("-*".repeat(5))
}
Rezultat
Raport lunar
============
-*-*-*-*-*
Exemplul 2: Lipire cu + și cu plus
Numerele din dreapta lui + sunt transformate în text. După un text, + lipește, nu adună: "Total: " + 1 + 2 dă „Total: 12”. Cu paranteze, numerele se adună întâi.
fun main() {
val nume = "Ana"
println("Bună, " + nume + "!")
println("Nota: ".plus(10))
println("Total: " + 1 + 2)
println("Total: " + (1 + 2))
}
Rezultat
Bună, Ana!
Nota: 10
Total: 12
Total: 3
Exemplul 3: Grafic din stele
Fiecare oraș primește atâtea stele câte puncte are.
fun main() {
val puncte = mapOf("Iași" to 5, "Cluj" to 3, "Sibiu" to 7)
for ((oras, p) in puncte) {
println(oras.padEnd(6) + "*".repeat(p) + " ($p)")
}
}
Rezultat
Iași ***** (5)
Cluj *** (3)
Sibiu ******* (7)
Greșeli frecvente
- Scrii
"-" * 10ca în Python. Kotlin nu are operatorul*pentru text; folosește"-".repeat(10). - Scrii
"Total: " + a + bși aștepți suma. După primul text,+lipește; pune paranteze:"Total: " + (a + b).
Comenzi înrudite
String.padStart: Completează textul la o lungime dată, adăugând un caracter la început (padStart) sau la final (padEnd).buildString: buildString construiește un text din bucăți cu append și appendLine, apoi îl returnează ca String.String.reversed: Returnează textul cu caracterele în ordine inversă, de la ultimul la primul.