سؤال

نظرا لاستدعاء الوظيفة التالية C:

fooFunc( barFunc(), bazFunc() );

ترتيب تنفيذ barFunc و BazFunc غير محدد، لذلك barFunc() قد يتم استدعاؤها من قبل bazFunc() أو bazFunc() قبل barFunc() في C.

هل Java حدد ترتيب تنفيذ تعبيرات وسيطة الوظيفة أو مثل C هل هذا غير محدد؟

هل كانت مفيدة؟

المحلول

من مواصفات لغة Java. (على التعبيرات):

15.7.4 يتم تقييم قوائم الحجة من اليسار إلى اليمين

في طريقة أو استدعاء منشئ أو تعبير إنشاء مثيل فئة، قد تظهر تعبيرات الوسيطة داخل الأقواس، مفصولة بفواصل. يبدو أن تعبير حجة يتم تقييمه بالكامل قبل أي جزء من أي تعبير حجة إلى حقه.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top