En nuestra nota anterior hablamos un poco sobre exclusiones de comprobación. Entender este tema te ayudará en tu curso de kotlin. Estas exclusiones de comprobación nula se aplica a: el operador !!, comprobaciones nulas de parámetros en el preámbulo del método, comprobaciones nulas de expresiones de tipo plataforma y el operador con un tipo no nulo. Esto no se aplica a las comprobaciones nulas tardías ni a las llamadas explícitas a funciones de la biblioteca como checkNotNull o requireNotNull.
Ten en cuenta que desde la perspectiva de un desarrollador, las cosas no cambiarán tanto: el código de Kotlin arrojará excepciones con los mismos mensajes de error que antes. El tipo de excepción cambia, pero la información que se pasa permanece igual. Por ejemplo, el siguiente código actualmente arroja una anIllegalStateException con el mensaje de error “JavaCode.getNull() must not be null”
::
fun main() { duplicate(JavaCode.getNull()) // 1} fun duplicate(s: String) = s + s
public class JavaCode { public static String getNull() { return null; }}
Justo antes de la llamada a la función duplicada en la línea 1, se genera una verificación especial que arroja esta excepción si la expresión JavaCode.getNull() almacena nulo. Comenzando con Kotlin 1.4, este código arrojará una NullPointerException con el mismo mensaje, "JavaCode.getNull() must not be null”.
Después de este cambio de comportamiento, los optimizadores podrán disminuir el número total de verificaciones nulas presentes en el código de bytes eliminando verificaciones nulas repetitivas cuando sea posible: dado que todas las verificaciones arrojan la misma excepción NPE, solo puede quedar una. Durante tales optimizaciones, los mensajes útiles específicos de los NPE se pueden perder, pero ese es el precio a pagar por los beneficios de rendimiento obtenidos. Ten en cuenta que estas optimizaciones aún deben implementarse en las herramientas correspondientes, y cuando se implementen, habrá más detalles al respecto, pero el cambio del tipo de excepción lo hace posible en el futuro.
Continuaremos en la siguiente nota ahora puedes ver estos dos enlaces
Curso de Excel y renta de aulas.