Quand j'ai besoin d'utiliser en Option.orElseGet() cours Facultatif.orElse()

J'ai besoin d'explication claire sur ce point, même si je l'ai lu ce lien sur les différences, mais pas de clarté. Si quelqu'un m'expliquer sur ce bref avec code.

  • Ce n'est pas clair dans la accepté de répondre?
  • J'ai pas idée claire de la réponse
  • Généralement, vous pouvez utiliser l'un ou l'autre comme vous le souhaitez.
  • Si la production de la valeur de retour dans le “orElse” cas nécessite quelques calculs, mon goût serait probablement pour orElseGet() de sorte que le calcul est effectué uniquement en cas de besoin. Si le calcul a des effets secondaires, vous devez choisir si vous voulez que ces effets secondaires toujours ou uniquement lorsque l'objet est nécessaire.
  • orElse() serait le choix naturel dans la plupart des situations. Dans notre base de code que nous utilisons orElse() 31 fois et orElseGet() 0 fois à tous.
  • J'ai fait la même chose tout à l'heure 🙂 l'un de l'utilisation de orElseGet - le retour de l'objet provient d'une base de données d'appel.
  • C'est certainement justifié! @Eugene Merci pour cette stats.
  • Connexes: Différence entre Optional.orElse() et Optional.orElseGet()

InformationsquelleAutor TVK | 2017-05-30