Kotlin es un lenguaje de programación de propósito general tipificado estáticamente desarrollado por JetBrains, que ha creado IDE de clase mundial como IntelliJ IDEA, PhpStorm, Appcode, etc. Fue presentado por primera vez por JetBrains en 2011 y es un nuevo lenguaje para JVM. Kotlin es un lenguaje orientado a objetos y un «lenguaje mejor» que Java, pero aún así es totalmente interoperable con el código Java. En este artículo, vamos a discutir cómo verificar el tipo de un objeto en Kotlin, antes de continuar, debe conocer algunos conceptos básicos como los conceptos básicos de Kotlin . A menudo, es necesario verificar si un objeto es de un tipo particular en tiempo de ejecución. Con Java, usamos una instancia de una palabra clave; con Kotlin, es la palabra clave ‘ es ‘.
Ejemplo
Veamos cómo verificar el tipo de un objeto en estos pasos:
1. Probemos un ejemplo muy básico, intentarlo es con una string y un entero.
En este ejemplo, verificaremos el tipo de una string y un entero:
Kotlin
fun main (args: Array<String>) { var a : Any = 1 var b : Any = "1" if (a is String) println ("a = $a is String") else println ("a = $a is not String") if (b is String) println ("b = $b is String") else println ("b = $b is not String") }
Producción:
a = 1 is not String b = 1 is String
2. De manera similar, podemos usar “ !is” para comprobar si el objeto no es de tipo String , así:
Kotlin
fun main (args: Array<String>) { var b : Any = 1 if (b !is String) println ("$b is not string") else println ("$b is String") }
Producción:
1 is not string
Si recuerdas cómo funciona when en Kotlin, no necesitamos poner la palabra clave is, porque Kotlin tiene una característica de smart cast y arroja un error si los objetos comparados no son del mismo tipo.
Básicamente, el operador is se usa para comprobar el tipo de objeto en Kotlin, y “ !is” es la negación del operador “ is” . El compilador de Kotlin realiza un seguimiento de los valores inmutables y los emite de forma segura donde sea necesario. Así es como funcionan los moldes inteligentes; “ es” es un operador de conversión seguro, mientras que un operador de conversión inseguro es el operador as.
Probemos un ejemplo con el operador » as» , que se usa para hacer castings en Kotlin. Es un operador de reparto inseguro. El siguiente ejemplo de código lanza ClassCastException porque no podemos convertir un número entero a String:
Kotlin
fun main (args: Array<String>) { var a : Any = 1 var b = a as String }
Producción:
ERROR
Por otro lado, el siguiente código se ejecuta con éxito debido a la variable a, que, al ser de cualquier tipo, se puede convertir a String:
Kotlin
fun main (args: Array<String>) { var a : Any = "1" var b = a as String println (b. length) }
Producción:
1
Publicación traducida automáticamente
Artículo escrito por eralokyadav2019 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA