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.
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.
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.
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.