¿Cómo puedo comprobar el tipo genérico en Kotlin


Estoy intentando probar un tipo genérico en Kotlin.

if (value is Map<String, Any>) { ... }

Pero el compilador se queja con

No se puede comprobar, por ejemplo, el tipo borrado: jet.Asignar

La comprobación con un tipo normal funciona bien.

if (value is String) { ... }

Se utiliza Kotlin 0.4.68.

¿Qué me estoy perdiendo aquí?

Author: Willi Mentzel, 2012-10-31

1 answers

El problema es que los argumentos de tipo se borran, por lo que no se puede comparar con el mapa de tipos completo, porque en tiempo de ejecución no hay información sobre esas cadenas y Ninguna.

Para solucionar esto, use comodines:

if (value is Map<*, *>) {...}
 45
Author: Andrey Breslav,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-10-31 20:08:50