J'attends un 'non' réponse à cette question.Pouvez-vous stocker une variable dans une if-clause?
J'étais intéressé si vous pouviez enregistrer une variable en même temps lorsque vous la cochez dans une clause if.
Disons que j'ai ce code. Je gère maintenant les états "d'échec" indépendamment, même si le résultat est le même. Je pourrais les obtenir ensemble comme ceci:
if(foo!=null && foo.getBar()!=null){
Bar bar = foo.getBar();
System.out.println("Success: " + bar);
} else {
System.out.println("Failure.");
}
Beaucoup plus de code déjà. si foo est nul, il s'arrêtera là et n'essaiera pas foo.getBar (dans le if) donc je ne recevrai pas de NPE. La dernière chose que je voudrais améliorer, et la question principale: Est-ce que j'ai vraiment donné deux fois à foo.getBar()? Ce serait bien de s'éloigner du second appel identique si getBar() serait une opération très lourde. Je me demande donc s'il est en quelque sorte possible de faire quelque chose de similaire à ceci:
if(foo!=null && (Bar bar = foo.getBar())!=null){
Bar bar = foo.getBar();
System.out.println("Success: " + bar);
} else {
System.out.println("Failure.");
}
je dois casser jusqu'à deux différents si est à nouveau si je voudrais faire
Bar bar = foo.getBar();
if (bar!=null) ...
D'ailleurs, c'est "l'échec". –