În acest articol, veți afla despre șirurile Kotlin, șabloanele de șiruri și câteva proprietăți și funcții ale șirurilor utilizate în mod obișnuit, cu ajutorul exemplelor.
Coarda Kotlin
Șirurile sunt o succesiune de caractere. De exemplu, "Hello there!"
este un șir literal.
În Kotlin, toate șirurile sunt obiecte de String
clasă. Înțeles, literele șirului cum ar fi "Hello there!"
sunt implementate ca instanțe ale acestei clase.
Cum se creează o variabilă String?
Iată cum puteți defini o String
variabilă în Kotlin. De exemplu,
val myString = "Hei acolo!"
Aici, myString este o variabilă de tip String
.
Puteți declara variabila de tip String
și specifica tipul acesteia într-o instrucțiune și inițializa variabila într-o altă instrucțiune mai târziu în program.
val myString: String … myString = "Howdy"
Cum se accesează personajele unui șir?
Pentru a accesa elementele (caracterul) unui șir, se folosește operatorul de acces la index. De exemplu,
val myString = "Hei acolo!" val item = MyString (2)
Aici, variabila de element conține y, al treilea caracter al șirului myString. Acest lucru se datorează faptului că indexarea în Kotlin începe de la 0 nu 1.
val myString = "Hei acolo!" var item: Char item = myString (0) // item contains 'H' item = myString (9) // item contains '!' item = myString (10) // Eroare! Indicele șirului este în afara domeniului element = myString (-1) // Eroare! Indicele șirului este în afara intervalului
Exemplu: Iterează printr-un șir
Dacă trebuie să iterați prin elementele unui șir, puteți face acest lucru cu ușurință utilizând o buclă for.
fun main(args: Array) ( val myString = "Hey!" for (item in myString) ( println(item) ) )
Când rulați programul, ieșirea va fi:
H e y !
Corzile din Kotlin sunt imuabile
La fel ca Java, șirurile sunt imuabile în Kotlin. Aceasta înseamnă că nu puteți schimba caracterul individual al unui șir. De exemplu,
var myString = "Hei!" myString (0) = 'h' // Eroare! Siruri de caractere
Cu toate acestea, puteți reatribui din nou o variabilă șir dacă ați declarat variabila utilizând cuvânt cheie var
. ( Citire recomandată : Kotlin var Vs val)
Exemplu: Reatribuirea unei variabile de șir.
fun main(args: Array) ( var myString = "Hey!" println("myString = $myString") myString = "Hello!" println("myString = $myString") )
Când rulați programul, ieșirea va fi:
myString = Hei! myString = Bună ziua!
Litere cu corzi
Un literal este reprezentarea codului sursă al unei valori fixe. De exemplu, "Hey there!"
este un șir literal care apare direct într-un program fără a necesita calcul (cum ar fi variabilele).
Există două tipuri de literali de șir în Kotlin:
1. Șir scăpat
Un șir scăpat poate avea caractere scăpate în ele. De exemplu,
val myString = "Hei acolo! n"
Iată un personaj de evadare care introduce o nouă linie în textul în care apare.
Iată o listă a personajelor de evacuare acceptate în Kotlin:
- Inserează backspace
- Inserează linie nouă
- Inserează returul căruciorului
\'
- Inserează caracterul citatului unic"
- Inserează caracterul ghilimelelor duble\
- Inserează bară inversă$
- Inserează caracter dolar
2. Șir brut
Un șir brut poate conține linii noi (nu un caracter nou de evadare a liniei) și text arbitrar. Un șir brut este delimitat de un ghilimel triplu """
. De exemplu,
fun main(args: Array) ( val myString = """ for (character in "Hey!") println(character) """ print(myString) )
Când rulați programul, ieșirea va fi:
for (personaj din „Hei!”) println (personaj)
Puteți elimina spațiile albe ale unui șir brut utilizând funcția trimMargin (). De exemplu,
Exemplu: Tipărirea șirului brut
fun main(args: Array) ( println("Output without using trimMargin function:") val myString = """ |Kotlin is interesting. |Kotlin is sponsored and developed by JetBrains. """ println(myString) println("Output using trimMargin function:") println(myString.trimMargin()) )
Când rulați programul, ieșirea va fi:
Ieșire fără utilizarea funcției trimMargin: | Kotlin este interesant. | Kotlin este sponsorizat și dezvoltat de JetBrains. Ieșire folosind funcția trimMargin: Kotlin este interesant. Kotlin este sponsorizat și dezvoltat de JetBrains.
În mod implicit, trimMargin()
funcția folosește | ca prefix de marjă. Cu toate acestea, îl puteți schimba trecând un nou șir la această funcție.
Exemplu: trimMargin () cu Argument
fun main(args: Array) ( val myString = """ !!! Kotlin is interesting. !!! Kotlin is sponsored and developed by JetBrains. """ println(myString.trimMargin("!!! ")) )
Când rulați programul, ieșirea va fi:
Kotlin este interesant. Kotlin este sponsorizat și dezvoltat de JetBrains.
Kotlin String Templates
Kotlin has an awesome feature called string templates that allows strings to contain template expressions.
A string template expression starts with a dollar sign $
. Here are few examples:
Example: Kotlin String Template
fun main(args: Array) ( val myInt = 5; val myString = "myInt = $myInt" println(myString) )
When you run the program, the output will be:
myInt = 5
It is because the expression $myInt (expression starting with $ sign) inside the string is evaluated and concatenated into the string.
Example: String Template With Raw String
fun main(args: Array) ( val a = 5 val b = 6 val myString = """ |$(if (a> b) a else b) """ println("Larger number is: $(myString.trimMargin())") )
When you run the program, the output will be:
Larger number is: 6
Few String Properties and Functions
Since literals in Kotlin are implemented as instances of String
class, you can use several methods and properties of this class.
length
property - returns the length of character sequence of an string.compareTo
function - compares this String (object) with the specified object. Returns 0 if the object is equal to the specfied object.get
function - returns character at the specified index.
You can use index access operator instead ofget
function as index access operator internally callsget
function.plus
function - returns a new string which is obtained by the concatenation of this string and the string passed to this function.
You can use+
operator instead ofplus
function as+
operator callsplus
function under the hood.subSequence
Function - returns a new character sequence starting at the specified start and end index.
Example: String Properties and Function
fun main(args: Array) ( val s1 = "Hey there!" val s2 = "Hey there!" var result: String println("Length of s1 string is $(s1.length).") result = if (s1.compareTo(s2) == 0) "equal" else "not equal" println("Strings s1 and s2 are $result.") // s1.get(2) is equivalent to s1(2) println("Third character is $(s1.get(2)).") result = s1.plus(" How are you?") // result = s1 + " How are you?" println("result = $result") println("Substring is "$(s1.subSequence(4, 7)) "") )
When you run the program, the output is:
Lungimea șirului s1 este 10. Șirurile s1 și s2 sunt egale. Al treilea personaj este y. rezultat = Hei acolo! Ce mai faci? Șirul este „cel”
Accesați clasa Kotlin String pentru mai multe informații despre proprietățile extensiei, extensia, funcțiile și constructorii.