Opérateur ternaire : affectation alternative ou code redondant ?
Considérez l'extrait de code suivant :
if (string != null) { callFunction(parameters); } else { // Intentionally left blank }
Est-ce possible de refactoriser cela en utilisant l'opérateur ternaire ?
L'opérateur ternaire en Java a la syntaxe suivante :
return_value = (true-false condition) ? (if true expression) : (if false expression);
Si la condition est vraie, l'expression après le point d'interrogation (!) est évalué et affecté à la valeur de retour. Sinon, l'expression après les deux points (:) est évaluée et attribuée.
Dans le code donné, l'instruction if-else vérifie si une variable chaîne n'est pas nulle et appelle une fonction si elle est vraie. Nous pouvons supposer deux scénarios possibles :
callFunction() a une valeur de retour non nulle :
Dans ce cas, nous pouvons utiliser l'opérateur ternaire comme suit :
return_value = (string != null) ? callFunction(parameters) : null;
Il est important de noter que l'opérateur ternaire est destiné à des affectations alternatives. Dans le code donné, la clause true appelle une fonction, qui n'attribue pas directement de valeur. Par conséquent, utiliser l'opérateur ternaire ici n'aurait pas de sens.
Au lieu de cela, si l'objectif est de simplifier le code en une seule ligne, les options suivantes peuvent être envisagées :
Supprimez la fausse clause car elle est inutile :
if (string != null) { callFunction(parameters); }
Utilisez la syntaxe à une seule ligne :
if (string != null) callFunction(parameters);
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!