Par exemple, supposons que vous créez une méthode comme celle-ci:
Factory.Java
public class Factory {
/**
*Crée et renvoie une nouvelle instance de MyObj.<br>
*Si la création échoue, null est renvoyé.
*
* @return
*/
public MyObj createMyObj() {
// ...
}
}
Le côté qui utilise cette méthode aura un code comme celui-ci.
python
Factory factory;
// ...
MyObj myObj = factory.createMyObj();
if (myObj != null) {
//Traitement en cas de succès
}
J'ai essayé de retourner facultatif <>.
Factory.Java
public class Factory {
/**
*Crée et renvoie une nouvelle instance de MyObj.<br>
*Si la création échoue, null est renvoyé.
*
* @return
*/
public Optional<MyObj> createMyObj() {
// ...
}
}
Le côté utilisateur ressemble à ceci.
python
Optional<MyObj> myObj = factory.createMyObj();
myObj.ifPresent(o -> {
//Traitement en cas de succès
});