Rumah  >  Artikel  >  Java  >  Kotlin Null Safety vs. Java: Komedi Kesilapan (Tetapi Kebanyakannya di Jawa)

Kotlin Null Safety vs. Java: Komedi Kesilapan (Tetapi Kebanyakannya di Jawa)

DDD
DDDasal
2024-11-02 12:26:02332semak imbas

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

Ah, Kotlin Null Safety lwn Java! Perlawanan klasik, seperti Godzilla vs. Mothra, tetapi dengan lebih sedikit raksasa yang memusnahkan bandar dan ketakutan yang lebih eksistensial tentang... well, null. ?

Jawa, berkati hatinya, telah wujud sejak era dial-up. Pada masa itu, tiada siapa yang bimbang tentang batal ranap apl anda kerana, jujurlah, Internet ranap apl anda adalah kejadian yang lebih biasa. Tetapi masa telah berubah, dan

Pendekatan Java "apa-apa sahaja boleh menjadi batal pada bila-bila masa" adalah dialu-alukan seperti modem dail dalam dunia 5G. Masuki Kotlin, rakan kongsi pengaturcara adiwira, di sini untuk menyelamatkan hari (dan kewarasan anda) dengan ciri Keselamatan Null yang menakjubkan!

Kesilapan Berbilion Dolar (Bukan Clickbait!)

NullPointerException adalah kutukan kewujudan pembangun Java. Ia seperti batu bata LEGO kecil yang anda pijak di tengah malam – kecil tetapi mampu menyebabkan kesakitan yang amat sangat.

Malah, Tony Hoare, lelaki yang mencipta rujukan nol, menyebutnya sebagai "kesilapan berbilion dolar." (Kami meneka dia memijak banyak LEGO.)

Kotlin, sebaliknya, mengambil pendekatan proaktif. Ia seperti selipar selesa yang anda pakai untuk mengelak terpijak LEGO. Dengan Keselamatan Null Kotlin, pengkompil itu sendiri menjadi penjaga yang berwaspada, menghalang null daripada menyelinap ke dalam kod anda dan mendatangkan malapetaka.

Bagaimana Kotlin Melakukannya (Spoiler: Ia Sangat Sejuk)

Dalam Kotlin, anda perlu memberitahu pengkompil secara eksplisit jika pembolehubah boleh menjadi batal dengan menambah ? kepada pengisytiharan jenis. Contohnya:

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

Semudah ini ? adalah seperti tanda amaran: "Berhati-hati! Nulls mungkin mengintai di sini!" Dan jika anda cuba melakukan sesuatu yang berisiko dengan pembolehubah yang boleh dibatalkan, pengkompil Kotlin akan menghalang anda dalam jejak anda dengan mesej ralat. Ia seperti mempunyai pengawal peribadi untuk kod anda, kecuali pengawal peribadi ini benar-benar mahir dalam tatabahasa dan sintaks.

Java's Countermove (Ia Mencuba, Berkati Hatinya)

Java, dalam versi terkemudiannya, cuba mengejar ciri seperti Pilihan. Ini adalah usaha yang gigih, seperti datuk anda yang cuba mempelajari TikTok. Dia bermaksud baik, tetapi ia tidak sama. Pilihan boleh menyusahkan dan tidak memberikan tahap keselamatan masa penyusunan yang sama seperti Keselamatan Null Kotlin.

// Java
import java.util.Optional;

public class OptionalExample {

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

        Optional<String> 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);
    }
}

Kesimpulannya (Bahagian Yang Dilangkau Semua Orang)

Keselamatan Null Kotlin ialah pengubah permainan. Ia menjadikan kod anda lebih selamat, lebih ringkas dan kurang terdedah kepada NullPointerException yang digeruni. Jadi, jika anda bosan bertarung dengan nol seperti mereka bos terakhir dalam permainan video, mungkin sudah tiba masanya untuk beralih kepada Kotlin. Kewarasan anda akan berterima kasih. ?

P.S. Jika anda masih di atas pagar, bayangkan ini: dunia di mana anda tidak perlu menyahpepijat NullPointerException yang lain. Bunyi seperti syurga, bukan? ?

Atas ialah kandungan terperinci Kotlin Null Safety vs. Java: Komedi Kesilapan (Tetapi Kebanyakannya di Jawa). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn