Je ne me sens pas satisfait de Éviter NULL dans OOP. Y a-t-il une solution alternative? Je n'aime pas l'éviter dans de cette façon non plus. P>
Quelle est la meilleure façon possible de le gérer? p>
3 Réponses :
Soyez juste conscient que ce n'est pas sérialisable code>.
@Greg KOPFF, c'est une solution dépendante de la langue. En fait, je veux une solution du point de vue design.
GUAVA a en option code> aussi. Cela peut être utile si vous êtes toujours bloqué avec Java 7.
@ user2749218 Il peut être dépendant de la langue, mais vous avez étiqueté la question avec Java ...
En fait, je veux une solution indépendante de cadre / langage.
Quelque chose comme en option code> n'est pas spécifique à Java, de nombreuses langues de programmation fonctionnelle ont quelque chose de similaire (HASKELL peut-être code>, SCALA OPTION CODE>, ML Option code> etc.). Java 8 l'a emprunté à ces langues.
@ user2749218 L'entrée Wikipedia sur le Type d'option pourrait être utile alors.
Bien que vous ne l'aimez pas, le Modèle d'objet Null est l'une des meilleures façons pour éviter NULL. Ne retournez pas non plus NULL lorsque vous pourriez retourner une liste vide. P>
Le plus souvent vu exemple du modèle d'objet NULL est la chaîne vide "". Utilisez-le quand vous devez dire quelque chose, mais vous voulez dire rien :)
Hehe, belle explication :-)
Je préfère ajouter une propriété de classe statique de vide. Cela renvoie une valeur spécifique pour l'objet qui peut être comparé contre - comme String.empty in .NET P>
Ne laissez pas les choses être nuls?!?
Pourquoi essayez-vous d'éviter les valeurs nulelles? Null n'est pas une mauvaise chose.
Considérez facultatif (Java 8)
GUAVA Facultatif: Utilisation et évitant NULL .
Vous pouvez faire un objet avec un corps de méthode qui est vide ... ce qui est essentiellement la même chose avec plus de code ...
Comment cela peut être atteint. Pouvez-vous élaborer @Mitch blé.
Le principal problème avec NULL est qu'il s'agit d'une valeur d'indiquer l'absence de valeur!