Maison  >  Article  >  Java  >  Pouvez-vous refactoriser une instruction If-Else en un opérateur ternaire ?

Pouvez-vous refactoriser une instruction If-Else en un opérateur ternaire ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-06 15:09:02349parcourir

Can You Refactor an If-Else Statement to a Ternary Operator?

Refactoring de l'opérateur ternaire

L'opérateur ternaire en Java fournit une alternative concise aux instructions if-else, vous permettant d'évaluer les conditions vraies ou fausses et attribuez différentes valeurs en fonction du résultat.

Question :

Le code suivant peut-il être remplacé par un opérateur ternaire ?

if (string != null) {
    callFunction(parameters);
} else {
    // Intentionally left blank
}

Réponse :

Cas 1 : Valeur de retour non nulle

Si callFunction(...) renvoie une valeur non nulle, vous pouvez utiliser l'opérateur ternaire comme suit :

return_value = (string != null) ? callFunction(...) : null;

Ceci attribue la valeur de retour de callFunction si la chaîne n'est pas nulle, sinon il attribue null.

Cas 2 : Aucune valeur de retour

Cependant, si callFunction(...) ne renvoie pas de valeur, vous ne pouvez pas utiliser d'opérateur ternaire. Dans ce cas, l'instruction if-else d'origine reste nécessaire.

Considérations sur le style et l'utilisation

Bien que les opérateurs ternaires puissent être un raccourci pratique pour des affectations conditionnelles simples, il est important pour considérer leur lisibilité et leur maintenabilité. Si l'intention de votre code n'est pas claire ou nécessite un contexte supplémentaire, il est généralement préférable de s'en tenir aux instructions if-else.

One-Liner alternative

Si votre code est vide La fausse clause n'est destinée à rien, vous pouvez utiliser la phrase suivante à la place :

if (string != null) callFunction(...);

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn