xplain moi pls premier whyyy ??? - CKKN
La méthode orElse()
attend un objet qui doit être créé avant l'appel de la méthode est exécutée. Cet objet (déjà existant) est renvoyé si le contenu Nullable
est réellement null
.
La méthode orElseGet()
attend également un objet existant, mais cet objet n'est pas renvoyé lui-même. L'objet attendu est de type Supplier
qui a une seule méthode à appeler lorsque le contenu Nullable
est réellement null
. De cette façon, vous pouvez éviter de créer votre objet valeur chaque fois que le orElseGet()
est appelé. Mais vous "achetez" ceci en créant un objet Supplier
à la place. D'autre part, l'objet Supplier
pourrait facilement être un membre d'instance ou une constante ...
Expliquez-moi d'abord pourquoi whyyy ??? – Ckkn
Pourquoi est-ce un effet secondaire? un bug dans le compilateur ou quoi? expliquez-moi svp je veux savoir pourquoi être capable d'éviter ces effets secondaires dans la programmation ultérieure – Ckkn
Java évalue les arguments de méthode avant d'appeler lesdites méthodes. Dans votre cas, vous fournissez un argument à 'orElse()' et java évalue heureusement cela pour préparer l'invocation de la méthode. Donc, même si 'orElse()' n'est pas appelé, votre argument que vous passez à 'orElse()' sera évalué. – Justas