Question

Compte tenu de l'appel de fonction suivante dans C:

fooFunc( barFunc(), bazFunc() );

L'ordre d'exécution des barFunc et BazFunc est pas spécifié, de sorte barFunc() peut être appelé avant bazFunc() ou bazFunc() avant barFunc() dans C.

Est-ce que Java spécifier un ordre d'exécution des expressions d'argument de fonction ou comme C est que non précisée?

Était-ce utile?

La solution

De la langage Java spécification (sur les expressions):

  

15.7.4 listes d'arguments sont évalués de gauche à droite

     

Dans un appel de méthode ou d'un constructeur   ou par exemple la classe expression de création,   expressions d'argument peuvent apparaître dans   les parenthèses, séparés par des virgules.   Chaque expression de l'argument semble être   pleinement évalués avant qu'une partie quelconque de   expression d'argument à sa droite.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top