Oui, vous devez marquer toutes les variables Optional
comme @NonNull
.
Une variable de type facultatif ne doit jamais être nulle. Début de rules about use of Optional de Stuart Marks:
- Ne jamais, jamais, utiliser null pour une variable optionnelle ou une valeur de retour.
Si vous écrivez @NonNull
, vous obtenez une aide d'outil pour vous assurer de ne pas enfreindre cette règle importante. Si vous n'écrivez pas @NonNull
, alors vous n'avez que votre propre discipline personnelle pour vous empêcher de faire une erreur, et les clients peuvent également faire une erreur.
Par conséquent, vous devez écrire @NonNull
, qui sert de documentation lisible par machine et vérifiée par une machine pour que la variable ne soit jamais nulle.
Ceci s'applique non seulement aux champs (variables membres), mais partout où vous utilisez Optional
.
Si vous l'annotez avec '@ NonNull', vous devrez toujours l'initialiser même si vous n'en avez pas besoin. Je pense que ce n'est pas trop mal concernant l'utilisation de la mémoire. la même chose irait pour n'importe quel type de données que je penserais – XtremeBaumer
N'a pas obtenu cette partie - "je penserais que ce n'est pas trop mauvais concernant l'utilisation de la mémoire". Je pensais que si je le faisais NonNull aiderait à éviter le contrôle nul, mais en suivant cette logique, tous les champs (autres que les primitives) devraient être marqués NonNull. Aussi marqué avec NonNull ne signifie pas qu'il doit être initialisé à chaque fois ... comme je peux donner la valeur par défaut .. non? de sorte que je n'ai pas à l'initialiser explicitement par le constructeur – Andy897
s'il vous plaît dites-nous quel 'NonNull' vous utilisez. si c'est son propre lombok, alors vous avez une autre annotation pour les valeurs par défaut. en ce qui concerne le point que vous n'avez pas compris: si vous initialisez une variable, vous n'avez pas besoin que votre objet croisse en taille (un peu/octet).cela signifierait que vous perdriez de la mémoire et plus vous auriez d'objets, plus vous perdriez de mémoire – XtremeBaumer