¿Cómo comprobar la clase "instanceof" en Kotlin?

Resuelto pRaNaY asked hace 7 años • 9 respuestas

En la clase Kotlin, tengo un parámetro de método como objeto (consulte el documento de Kotlin aquí ) para el tipo de clase T. Como objeto, paso diferentes clases cuando llamo al método. En Java podemos comparar la clase que usa instanceofel objeto y qué clase es.

Entonces, quiero verificar y comparar en tiempo de ejecución qué clase es.

¿Cómo puedo consultar instanceofla clase en Kotlin?

pRaNaY avatar May 21 '17 22:05 pRaNaY
Aceptado

Usar is.

if (myInstance is String) { ... }

o al revés!is

if (myInstance !is String) { ... }
nhaarman avatar May 21 '2017 15:05 nhaarman

Combinando wheny is:

when (x) {
    is Int -> print(x + 1)
    is String -> print(x.length + 1)
    is IntArray -> print(x.sum())
}

copiado de la documentación oficial

methodsignature avatar Jan 11 '2018 18:01 methodsignature