"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Kotlin Null Safety versus Java: una comedia de errores (pero principalmente en Java)

Kotlin Null Safety versus Java: una comedia de errores (pero principalmente en Java)

Publicado el 2024-11-17
Navegar:238

Kotlin Null Safety vs. Java: A Comedy of Errors (But Mostly in Java)

¡Ah, seguridad nula de Kotlin frente a Java! Un enfrentamiento clásico, como Godzilla vs. Mothra, pero con menos monstruos que destruyen ciudades y más temor existencial por... bueno, nulo. ?

Java, bendito sea, existe desde la era del acceso telefónico. En aquel entonces, a nadie le preocupaba que los valores nulos bloquearan su aplicación porque, seamos honestos, Internet bloqueaba su aplicación era algo mucho más común. Pero los tiempos han cambiado y

El enfoque de Java de "cualquier cosa puede ser nulo en cualquier momento" es tan bienvenido como un módem de acceso telefónico en un mundo 5G. ¡Ingresa Kotlin, el compañero del programador superhéroe, aquí para salvar el día (y tu cordura) con su increíble característica Null Safety!

El error de mil millones de dólares (¡no clickbait!)

NullPointerException son la pesadilla de la existencia de un desarrollador de Java. Son como esos pequeños ladrillos LEGO que pisas en medio de la noche: pequeños pero capaces de causar un dolor inmenso.

De hecho, Tony Hoare, el tipo que inventó la referencia nula, lo llamó su "error de mil millones de dólares". (Suponemos que pisó muchos LEGO).

Kotlin, por otro lado, adopta un enfoque proactivo. Es como esas cómodas pantuflas que usas para evitar pisar los LEGO. Con Null Safety de Kotlin, el compilador se convierte en un guardián vigilante, evitando que los valores nulos se cuelan en su código y causen estragos.

Cómo lo hace Kotlin (Spoiler: es genial)

En Kotlin, debes decirle explícitamente al compilador si una variable puede ser nula agregando un? a la declaración de tipo. Por ejemplo:

// Kotlin
var name: String? = null // This variable can be null
var age: Int = 42        // This variable cannot be null

¿Así de sencillo? es como una señal de advertencia: "¡Cuidado! ¡Pueden haber nulos acechando aquí!" Y si intenta hacer algo arriesgado con una variable que acepta valores NULL, el compilador de Kotlin lo detendrá en seco con un mensaje de error. Es como tener un guardaespaldas personal para tu código, excepto que este guardaespaldas es realmente bueno en gramática y sintaxis.

El contraataque de Java (lo intenta, bendito sea su corazón)

Java, en sus versiones posteriores, intentó ponerse al día con características como Opcional. Es un esfuerzo valiente, como si tu abuelo intentara aprender TikTok. Tiene buenas intenciones, pero no es lo mismo. Opcional puede ser engorroso y no proporciona el mismo nivel de seguridad en tiempo de compilación que Null Safety de Kotlin.

// Java
import java.util.Optional;

public class OptionalExample {

    public static void main(String[] args) {
        // Creating an Optional object

        Optional name = Optional.of("John Doe"); 

        // Checking if a value is present
        if (name.isPresent()) {
            System.out.println("Name is present: "   name.get()); 
        } else {
            System.out.println("Name is absent");
        }

        // Using orElse to provide a default value
        String defaultName = name.orElse("Unknown"); 
        System.out.println("Name: "   defaultName);

        // Using orElseGet to provide a default value with a supplier
        String anotherDefaultName = name.orElseGet(() -> "Another Unknown");
        System.out.println("Name: "   anotherDefaultName);
    }
}

En conclusión (la parte a la que todos pasan)

Null Safety de Kotlin cambia las reglas del juego. Hace que su código sea más seguro, más conciso y menos propenso a esas temidas NullPointerException. Entonces, si estás cansado de luchar contra los nulos como si fueran el jefe final de un videojuego, podría ser el momento de cambiar a Kotlin. Tu cordura te lo agradecerá. ?

P.D. Si todavía estás indeciso, imagina esto: un mundo donde nunca tendrás que depurar otra NullPointerException. Suena como el paraíso, ¿no? ?

Declaración de liberación Este artículo se reproduce en: https://dev.to/hamada147/kotlin-null-safety-vs-java-a-comedy-of-errors-but-mostly-in-java-api?1 Si hay alguna infracción , comuníquese con Study_golang @ 163.com eliminar
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3