دلیل final بودن متغیر هایی که در lambda expression استفاده می شوند در جاوا چیست؟

0 رأی
میانگین بازدید روزانه 0.18381 بازدید

با عرض سلام

چرا در java 8 در عبارت های لامبدا باید از متغیر های final استفاده کرد. در غیر این صورت به خطای compile time بر می خوریم.

مرسی

سوال 5 سال قبل در تالار برنامه نویسی توسط java_ (778 امتیاز)
ویرایش 5 سال قبل توسط Saeed Zarinfam

1 جواب

+2 رأی
 
بهترین جواب

همانطور که می دانید lambda expression معادل anonymous inner class در جاوا قبل ۸ هستند (با کمی تفاوت جزئی) و می توان این دو را بجای یکدیگر در کد های جاوا ۸ استفاده کرد.

دلیل این موضوع برای anonymous inner class در این سوال جواب داده شده است که برای lambda expression نیز صدق می کند.

جواب 5 سال قبل توسط Saeed Zarinfam (959 امتیاز)
انتخاب شده در 5 سال قبل توسط java_

سوال های مشابه

0 رأی
1 جواب میانگین بازدید روزانه 0.12280 بازدید
+1 رأی
1 جواب میانگین بازدید روزانه 0.341,011 بازدید
سوال 8 سال قبل در تالار برنامه نویسی توسط Saeed Zarinfam (959 امتیاز)
+2 رأی
2 جواب میانگین بازدید روزانه 0.581,932 بازدید
+1 رأی
1 جواب میانگین بازدید روزانه 0.14213 بازدید
+2 رأی
1 جواب میانگین بازدید روزانه 0.43453 بازدید
+1 رأی
1 جواب میانگین بازدید روزانه 0.09221 بازدید
+1 رأی
1 جواب میانگین بازدید روزانه 0.25678 بازدید
کانال تلگرام جواب یاب
...