Articles of kotlin null safety

Kotlin: No se pueden aplicar dos condicionales a la vez. Verificar con el estilo de function de "cuerpo de retorno".

Tengo una verificación de function simple como esta: fun parseValidBluetoothBrickedId(controllerId: String?): Boolean{ if(controllerId != null){ if(controllerId.startsWith(BLUETOOTH_NAME_PREFIX) && controllerId.length > BLUETOOTH_NAME_PREFIX.length) return true } return false } Quiero convertirlo a un estilo simplier: fun parseValidBluetoothBrickedId(controllerId: String?) = controllerId?.length > BLUETOOTH_NAME_PREFIX.length && controllerId?.startsWith(BLUETOOTH_NAME_PREFIX) pero IDE (Android Studio 3.0 Beta7) me da un error, subraya el operador mayor […]

Lanzamiento inteligente a kotlin.String

Estaba probando Kotlin y recibí un post del comstackdor: Smart cast to kotlin.String Código: /*"mTripStatus" is a nullable String*/ var html :String = HTML html = if (mTripStatus!=null) html.replace("TRIP_STATUS_VALUE", mTripStatus) else html ¿Qué significa esto?

¿Cuándo debería usar let {} y cuando simplemente! = Null

¿Cómo escribirías el siguiente código de una manera más kotlinic? var returnValue = … val s3data = presignedUrl.body() if (s3data != null) { val uploadImage = api.uploadImage(s3data.bucketUrl, s3data.awsAccessKeyId, s3data.policy, s3data.key, s3data.signature, body).execute() if (!uploadImage.isSuccessful) { crashReporterService.sendIssue("Failed uploading file", "Failed uploading file ${uploadImage.raw()}") returnValue = Result.FAILURE } else { returnValue = Result.SUCCESS } } else { […]

Las comprobaciones nulas no se insertan para el tipo reificado cuando param no es nulo

TL; DR ¿Deberían las funciones con types reificados tener en count la capacidad de numeración de los parameters de tipo al generar código? Caso de testing Considere el siguiente código de Kotlin; la única diferencia entre los dos methods es si el tipo enlazado es nulo ( Any? ) o no ( Any ). @Test […]

Confundido acerca de la security nula en Kotlin

Soy nuevo en Kotlin y he leído más de una vez sobre security nula en Kotlin, pero estoy muy confundido y no entiendo claramente. ¿Alguien puede ayudarme a responder preguntas a continuación? Que hace ! carácter en la fun getString(key: String!) significa? Son los nombres de los operadores a continuación correctos: ?. : Operador de […]

Afirmación no nula de Kotlin en nulo

Como Kotlin tiene la afirmación no nula, encontré algunas cosas divertidas … val myvar: String = null!! Se bloqueará. Pero el punto es que no se comtesting en el momento de la compilation. La aplicación se bloqueará en time de ejecución. ¿No debería arrojar un error de time de compilation?

¿Cómo ejecutar código si el object es nulo?

En Kotlin, puedo ejecutar código si un object no es nulo así: data?.let { … // execute this block if not null } pero ¿cómo puedo ejecutar un bloque de código si el object es nulo?

Kotlin .let {} nulo error de security supuestamente falso

Cuando uso la function .let { } noté que cuando hacía lo siguiente: bucket?.assignedVariantName.let { bucket?.determineVariant() <– guarantee safety for bucket } Tienes que garantizar la security para el cubo en este caso, es decir, bucket?. o bucket!! mientras que la security nula ya está garantizada mediante el uso de ?.let entonces me di count […]

Error de compilation de la llamada insegura de Kotlin en un receptor nulo después de un control nulo

Esta es la captura de pantalla del error: Estoy usando Intellij v14.0.1 + Kotlin plugin v0.9.206. Según tengo entendido, después de la verificación nula, el comstackdor no debería mostrarme el error. ¿Me equivoco?

kotlin inversa boolean seguro de casting

Digamos que tengo un object Respuesta. Ahora me gustaría verificar una variable booleana, éxito, en Respuesta y hacer una devolución anticipada; la respuesta no es exitosa. if(response == null || !response.success){ return; } //Java version Ahora me gustaría usar el cheque de security nulo de Kotlin como sigue if(response?.success ?: true){ return } Si no […]