Sekadar menyebut beberapa yang lebih biasa digunakan atau lebih rasmi:
java8 menyediakan kelas pilihan untuk semakan penunjuk null, Guava menyediakan Preconditions.checkNotNull untuk menyemak, lombok menyediakan anotasi NonNull
Walau bagaimanapun, dalam penggunaan sebenar, if(map!=null&&map.get("a")!=null) adalah agak mudah dan intuitif, dan lombok sangat elegan untuk digunakan. Mengenai kaedah pengendalian java8 dan jambu batu, ia adalah satu perkara.
Maksud pilihan ialah sistem jenis memberitahu anda bahawa anda harus melakukan semakan nol, tetapi anda tidak perlu menyemak pembolehubah yang bukan pilihan? Tidak, anda masih perlu menyemak. Oleh itu, penggunaan pilihan adalah janggal, dan melainkan ia adalah kod baharu, sukar untuk mengendalikannya secara konsisten.
Pilihan merujuk kepada pilihan/mungkin dalam bahasa berfungsi, tetapi dalam bahasa berfungsi, biasanya tiada pilihan Jika anda melihat pilihan, anda tidak perlu menyemaknya pemprosesan adalah konsisten.
TypeScript Terkini menyokong strictNullCheck dan jenis kesatuan. Null menjadi jenis yang berasingan. Digabungkan dengan jenis kesatuan, ia boleh mewakili jenis nullable pada tahap jenis (seperti string | null strictNullCheck memerlukan semua pembolehubah nullable mesti diperiksa sebelum digunakan.
Anda boleh menganotasi dan menandai NonNull dalam Java, dan kemudian menggunakan alat untuk mengesannya, dan kesannya hampir sama.
Sekadar menyebut beberapa yang lebih biasa digunakan atau lebih rasmi:
java8 menyediakan kelas pilihan untuk semakan penunjuk null,
Guava menyediakan Preconditions.checkNotNull untuk menyemak,
lombok menyediakan anotasi NonNull
Walau bagaimanapun, dalam penggunaan sebenar, if(map!=null&&map.get("a")!=null) adalah agak mudah dan intuitif, dan lombok sangat elegan untuk digunakan.
Mengenai kaedah pengendalian java8 dan jambu batu, ia adalah satu perkara.
Maksud pilihan ialah sistem jenis memberitahu anda bahawa anda harus melakukan semakan nol, tetapi anda tidak perlu menyemak pembolehubah yang bukan pilihan? Tidak, anda masih perlu menyemak. Oleh itu, penggunaan pilihan adalah janggal, dan melainkan ia adalah kod baharu, sukar untuk mengendalikannya secara konsisten.
Pilihan merujuk kepada pilihan/mungkin dalam bahasa berfungsi, tetapi dalam bahasa berfungsi, biasanya tiada pilihan Jika anda melihat pilihan, anda tidak perlu menyemaknya pemprosesan adalah konsisten.
TypeScript Terkini menyokong strictNullCheck dan jenis kesatuan. Null menjadi jenis yang berasingan. Digabungkan dengan jenis kesatuan, ia boleh mewakili jenis nullable pada tahap jenis (seperti
string | null
strictNullCheck memerlukan semua pembolehubah nullable mesti diperiksa sebelum digunakan.Anda boleh menganotasi dan menandai NonNull dalam Java, dan kemudian menggunakan alat untuk mengesannya, dan kesannya hampir sama.