Порядок выполнения параметров гарантий на Java?
-
18-09-2019 - |
Вопрос
Учитывая следующий вызов функции в C
:
fooFunc( barFunc(), bazFunc() );
Порядок исполнения barFunc
а также BazFunc
не указан, поэтому barFunc()
может быть вызван раньше bazFunc()
или же bazFunc()
до barFunc()
в C
.
Делает Java
Укажите порядок выполнения выражений аргумента функции или подобного C
Это неуточнен?
Решение
От Язычная спецификация (на выражениях):
15.7.4 Списки аргументов оцениваются слева направо
В методе или вызове конструктора или выражении экземпляра класса выражения аргументов могут появляться в скобках, разделенных запятыми. Каждое выражение аргумента, по -видимому, полностью оценивается до какой -либо части любого выражения аргумента справа.
Не связан с StackOverflow