Maison > Java > javaDidacticiel > Comment la spécification du langage Java définit-elle la valeur de retour finale pour les fonctions avec plusieurs instructions de retour ?

Comment la spécification du langage Java définit-elle la valeur de retour finale pour les fonctions avec plusieurs instructions de retour ?

Susan Sarandon
Libérer: 2024-11-19 04:10:02
original
932 Les gens l'ont consulté

How Does the Java Language Specification Define the Final Return Value for Functions with Multiple Return Statements?

Retours multiples et détermination de la valeur finale

Une pratique de codage particulière implique des fonctions avec plusieurs instructions de retour, comme illustré dans l'extrait de code ci-dessous :

String test() {
    try {
        return "1";
    } finally {
        return "2";
    }
}
Copier après la connexion

Compte tenu de cette construction, la question se pose : la spécification du langage Java (JLS) définit-elle le retour final valeur cohérente sur toutes les machines virtuelles Java (JVM) ?

Selon le JLS, la valeur précise renvoyée par une fonction avec plusieurs instructions de retour est explicitement spécifiée. Dans l'exemple fourni, la valeur de retour est clairement définie comme étant « 2 ». Cela signifie que si une JVM s'écarte de cette spécification, elle est considérée comme non conforme au JLS.

Il est important de noter que la plupart des compilateurs émettront un avertissement ou un message d'erreur concernant cette pratique non conventionnelle. Par exemple, Eclipse signalera à tort que le bloc de retour ne sera jamais exécuté. Néanmoins, le JLS a priorité sur les avertissements du compilateur.

Bien que le JLS dicte la valeur de retour des fonctions avec plusieurs retours, il décourage fortement leur utilisation en raison de problèmes de clarté et de maintenabilité. Il est généralement considéré comme une mauvaise pratique de s'appuyer sur de telles constructions, et les développeurs devraient viser un code plus simple et plus lisible.

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