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

2017/1/8

描述

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

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

上下文环境

  1. Java 8

伊谢尔伦
伊谢尔伦

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

répondre à tous(2)
刘奇

Juste pour en citer quelques-uns qui sont plus couramment utilisés ou plus officiels :

java8 fournit la classe facultative pour la vérification du pointeur nul,
Guava fournit Preconditions.checkNotNull pour la vérification,
lombok fournit l'annotation NonNull

Cependant, en utilisation réelle, if(map!=null&&map.get("a")!=null) est relativement simple et intuitif, et lombok est très élégant à utiliser.
Quant aux méthodes de manipulation de java8 et de guava, c'est une question d'opinion.

Ty80

La signification de facultatif est que le système de types vous indique que vous devez effectuer une vérification nulle, mais vous n'avez pas besoin de vérifier les variables qui ne sont pas facultatives ? Non, il faut quand même vérifier. Par conséquent, l’utilisation de optionnel est délicate et, à moins qu’il ne s’agisse d’un nouveau code, il est difficile de le gérer de manière cohérente.

Optionnel fait référence à option/maybe dans les langages fonctionnels, mais dans les langages fonctionnels, il n'y a généralement pas de valeur nulle. Si vous voyez une option, vous la détecterez. S'il n'y a pas d'option, vous n'avez pas besoin de vérifier. le traitement est cohérent.

TypeScript récent prend en charge strictNullCheck et le type union. Null devient un type distinct Combiné avec le type union, il peut représenter des types nullables au niveau du type (tels que string | null nécessite que toutes les variables nullables soient vérifiées avant utilisation).

Vous pouvez annoter et marquer NonNull en Java, puis utiliser des outils pour le détecter, et l'effet est presque le même.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!