"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Kotlin Null Safety vs. Java: uma comédia de erros (mas principalmente em Java)

Kotlin Null Safety vs. Java: uma comédia de erros (mas principalmente em Java)

Publicado em 17/11/2024
Navegar:335

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

Ah, Kotlin Null Safety vs. Java! Um confronto clássico, como Godzilla vs. Mothra, mas com menos monstros destruidores de cidades e mais pavor existencial sobre... bem, nulo. ?

Java, Deus abençoe, existe desde a era dial-up. Naquela época, ninguém se preocupava com o fato de nulos travarem seu aplicativo porque, sejamos honestos, a Internet travando seu aplicativo era uma ocorrência muito mais comum. Mas os tempos mudaram e

A abordagem "tudo pode ser nulo a qualquer momento" do Java é tão bem-vinda quanto um modem dial-up em um mundo 5G. Digite Kotlin, o ajudante do programador de super-heróis, aqui para salvar o dia (e sua sanidade) com seu incrível recurso Null Safety!

O erro de um bilhão de dólares (não clickbait!)

NullPointerException são a ruína da existência de um desenvolvedor Java. Eles são como aqueles minúsculos tijolos de LEGO que você pisa no meio da noite – pequenos, mas capazes de causar uma dor imensa.

Na verdade, Tony Hoare, o cara que inventou a referência nula, chamou isso de "erro de um bilhão de dólares". (Supomos que ele pisou em muitos LEGOs.)

Kotlin, por outro lado, adota uma abordagem proativa. É como aqueles chinelos confortáveis ​​que você usa para evitar pisar em LEGOs. Com o Null Safety do Kotlin, o próprio compilador se torna um guardião vigilante, evitando que nulos entrem em seu código e causem estragos.

Como Kotlin faz isso (spoiler: é muito legal)

No Kotlin, você deve informar explicitamente ao compilador se uma variável pode ser nula adicionando um ? para a declaração de tipo. Por exemplo:

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

Tão simples? é como um sinal de alerta: "Cuidado! Nulos podem estar à espreita aqui!" E se você tentar fazer algo arriscado com uma variável anulável, o compilador Kotlin irá interrompê-lo com uma mensagem de erro. É como ter um guarda-costas pessoal para o seu código, exceto que esse guarda-costas é muito bom em gramática e sintaxe.

O contra-ataque de Java (ele tenta, abençoe seu coração)

Java, em suas versões posteriores, tentou acompanhar recursos como Opcional. É um esforço valente, como o seu avô tentando aprender o TikTok. Ele tem boas intenções, mas não é exatamente a mesma coisa. Opcional pode ser complicado e não fornece o mesmo nível de segurança em tempo de compilação que a Segurança Nula do 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);
    }
}

Em conclusão (a parte para a qual todos pulam)

Nul Safety de Kotlin é uma virada de jogo. Isso torna seu código mais seguro, mais conciso e menos sujeito às temidas NullPointerException. Então, se você está cansado de lutar contra nulos como se eles fossem o chefe final de um videogame, talvez seja hora de mudar para Kotlin. Sua sanidade vai agradecer. ?

P.S. Se você ainda está em dúvida, imagine o seguinte: um mundo onde você nunca precisará depurar outro NullPointerException. Parece o paraíso, não é? ?

Declaração de lançamento Este artigo foi reproduzido em: https://dev.to/hamada147/kotlin-null-safety-vs-java-a-comedy-of-errors-but-mostly-in-java-api?1 Se houver alguma violação , entre em contato com study_golang @163.comdelete
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3