异常 - 如何更好地处理 java NullPointerException (一整套完整心法) ?
伊谢尔伦
伊谢尔伦 2017-04-18 10:34:35
0
2
416

2017/1/8

描述

可以说是「优雅地」处理, 总的来说要逻辑严谨, 即讲清楚 why

自己脑海有某些原则, 但是总不是不系统, 这令我不安.

上下文环境

  1. Java 8

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

membalas semua(2)
刘奇

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.

Ty80

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.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!