Maison > Java > javaDidacticiel > Opérateur ternaire : devriez-vous l'utiliser pour les appels de fonction ?

Opérateur ternaire : devriez-vous l'utiliser pour les appels de fonction ?

Patricia Arquette
Libérer: 2024-11-08 08:59:01
original
891 Les gens l'ont consulté

Ternary Operator: Should You Use It for Function Calls?

Opérateur ternaire : affectation alternative ou code redondant ?

Considérez l'extrait de code suivant :

if (string != null) {
    callFunction(parameters);
} else {
    // Intentionally left blank
}
Copier après la connexion

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);
Copier après la connexion

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 :

  1. 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;
    Copier après la connexion
  2. callFunction() n'a pas de valeur de retour :
    Dans ce scénario, l'utilisation de l'opérateur ternaire serait redondante. L'instruction if-else gère déjà les actions alternatives, et l'ajout d'un opérateur ternaire ne fournirait aucune fonctionnalité supplémentaire.

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);
    }
    Copier après la connexion
  • Utilisez la syntaxe à une seule ligne :

    if (string != null) callFunction(parameters);
    Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal