DEV Community

Maximiliano Burgos
Maximiliano Burgos

Posted on

Curso Kotlin | #5. Tipo String

Bienvenido/a a otro capítulo del Curso de Kotlin! Podés consultar el curso completo desde este link que te dejo acá. Podés seguirme por LinkedIn o Twitter si querés estar al tanto de las próximas publicaciones.

Que es un String?

Definimos un string en su traducción directa como una cadena. En cuestiones de programación, como una cadena de caracteres. En Kotlin la definimos de la siguiente manera:

val name: String = "Max"
Enter fullscreen mode Exit fullscreen mode

Para poder imprimir en pantalla dicha cadena, podemos usar println:

println(name)

#output: Max
Enter fullscreen mode Exit fullscreen mode

Si quisiéramos concatenar dicho valor a un string literal, podemos usar la siguiente forma:

println("Hola, mi nombre es " + name)

#output: Hola, mi nombre es Max
Enter fullscreen mode Exit fullscreen mode

Es importante agregar el espacio en el string literal para que no se pegue al valor de la variable name.

Pero como vimos en el capítulo anterior, podemos usar lo que llamamos String Templates. Por ejemplo:

println("Hola, mi nombre es $name")
Enter fullscreen mode Exit fullscreen mode

Agregando el signo “$” seguido de la variable, podemos incluirlo en el string literal sin estar concatenando con “+”.

Métodos y Propiedades de String

Existen una serie de métodos y atributos interesantes que podemos usar del tipo String.

Atributo Length

Un atributo conocido es length, el cual nos devuelve el tamaño del string.

println(name.length)
Enter fullscreen mode Exit fullscreen mode

Si quisiéramos usar String Templates, deberíamos agregar llaves. Esto aplica a métodos y atributos:

println("Mi nombre ocupa ${name.length} caracteres")

#output: Mi nombre ocupa 3 caracteres
Enter fullscreen mode Exit fullscreen mode

Método Equals

Un método que se usaba mucho en Java y también existe en Kotlin es equals, para comparar dos strings. En este caso devuelve una expresión de tipo Boolean si el string es igual o no.

println("${name.equals("Tomas")}")

#output: false
Enter fullscreen mode Exit fullscreen mode

Kotlin nos sugiere en este caso usar el operador “==”, el cual generaría el mismo resultado:

println("${name == "Tomas"}")
Enter fullscreen mode Exit fullscreen mode

Esto en Java no era posible, pero Kotlin si soporta este tipo de comparadores en Strings. Lo veremos más adelante en detalle.

Método Contains

Usamos contains cuando queremos verificar si el string posee en alguna parte el valor que estamos pidiendo. Por ejemplo:

println("${name.contains("a")}")
#output: true
Enter fullscreen mode Exit fullscreen mode

Nos devuelve true, porque dentro de “Max” existe el caracter “a”.

Este método es muy útil para búsquedas.

Método Plus

Podemos usar Plus como otra forma de agregar valor a un string existente.

val name = "Max"
println("Hola, mi nombre es $name")
val fullName = name.plus(" Tompson")
println("Hola, mi nombre es $fullName")
Enter fullscreen mode Exit fullscreen mode

Este método retorna un string con el valor agregado, por lo cual es necesario guardarlo en una variable. Aunque también se puede simplificar llamándolo en el println:

println("Hola, mi nombre es ${name.plus(" Tompson")}")
Enter fullscreen mode Exit fullscreen mode

Sin usar plus, podríamos igualmente llegar al mismo resultado:

val fullName = "$name Tompson"
println("Hola, mi nombre es $fullName")
Enter fullscreen mode Exit fullscreen mode

Lo importante es entender que este método existe, porque en posteriores capítulos le daremos un uso fundamental en otros tipos de variables.

Conclusiones

Como ven, un String no es solo una cadena de caracteres. Al ser una clase y no un tipo primitivo, tenemos atributos y métodos que nos permiten tener las herramientas adecuadas para evaluar su valor y trabajar con los resultados.

Es importante entender que como clase, String hereda de CharSequence, y a su vez esta hereda de Char. Estos tipos son elementales para los métodos que vamos a ver en la siguiente clase.

Top comments (0)