مورد 43: ارجاع به روش ها را به لامبدا ترجیح دهید

Summarize this content to 400 words in Persian Lang
مزایای مراجع برای روش ها
مختصر بودن: ارجاع به روش ها مختصرتر از لامبدا است.مثال: افزایش مقدار در نقشه با استفاده از ادغام:
لامبدا: (شمارش، درج) -> شمارش + incrارجاع به روش: Integer::sum
کاهش دیگ بخارحذف پارامترهای بی فایده: پارامترهایی مانند count و incr حذف می شوند.مثال:
map.merge(key, 1, Integer::sum);
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
استفاده کارآمد از منابع برای روش ها
اسناد مفید در مورد Lambdas: در برخی موارد، نام پارامترها در لامبدا می تواند مستندات مفیدی را ارائه دهد.
تبدیل لامبدا به متدها: اگر یک لامبدا خیلی پیچیده است، کد را در یک متد جداگانه استخراج کنید و از ارجاع به آن متد استفاده کنید.
IDE ها و مراجع برای روش ها
پیشنهادات IDE: IDE ها اغلب پیشنهاد می کنند که لامبدا را با ارجاع به روش ها جایگزین کنید.
پذیرش پیشنهادات: به طور کلی، پیشنهادات را بپذیرید، اما به صورت موردی ارزیابی کنید.
استثناها و ملاحظات
لامبداهای مختصر تر: گاهی اوقات لامبدا مختصرتر از مراجع روش است.
مثال با کلاس:
مرجع روش: GoshThisClassNameIsHumongous::action
لامبدا: () -> اقدام()
تابع هویت: Function.identity() در مقابل x -> x
انواع مراجع برای روش ها
استاتیک: Integer::parseInt (lambda: str -> Integer.parseInt(str))
محدود: Instant.now()::isAfter (lambda: t -> Instant.now().isAfter
نامحدود: رشته::toLowerCase (lambda: str -> str.toLowerCase())
سازنده کلاس: TreeMap::new (lambda: () -> new TreeMap)
آرایه ساز: بین المللی[]::new (lambda: len -> new int[len])
نتیجهاولویت برای مراجع برای روشها: از ارجاع به روشها زمانی استفاده کنید که کوتاهتر و واضحتر از لامبدا هستند.استفاده از Lambdas: اگر مختصرتر هستند یا مستندات بهتری ارائه می دهند، لامبدا را ترجیح دهید.
مزایای مراجع برای روش ها
-
مختصر بودن: ارجاع به روش ها مختصرتر از لامبدا است.
مثال: افزایش مقدار در نقشه با استفاده از ادغام: -
لامبدا: (شمارش، درج) -> شمارش + incr
ارجاع به روش: Integer::sum
کاهش دیگ بخار
حذف پارامترهای بی فایده: پارامترهایی مانند count و incr حذف می شوند.
مثال:
map.merge(key, 1, Integer::sum);
استفاده کارآمد از منابع برای روش ها
- اسناد مفید در مورد Lambdas: در برخی موارد، نام پارامترها در لامبدا می تواند مستندات مفیدی را ارائه دهد.
- تبدیل لامبدا به متدها: اگر یک لامبدا خیلی پیچیده است، کد را در یک متد جداگانه استخراج کنید و از ارجاع به آن متد استفاده کنید.
IDE ها و مراجع برای روش ها
- پیشنهادات IDE: IDE ها اغلب پیشنهاد می کنند که لامبدا را با ارجاع به روش ها جایگزین کنید.
- پذیرش پیشنهادات: به طور کلی، پیشنهادات را بپذیرید، اما به صورت موردی ارزیابی کنید.
استثناها و ملاحظات
- لامبداهای مختصر تر: گاهی اوقات لامبدا مختصرتر از مراجع روش است.
- مثال با کلاس:
- مرجع روش: GoshThisClassNameIsHumongous::action
- لامبدا: () -> اقدام()
- تابع هویت: Function.identity() در مقابل x -> x
انواع مراجع برای روش ها
- استاتیک: Integer::parseInt (lambda: str -> Integer.parseInt(str))
- محدود: Instant.now()::isAfter (lambda: t -> Instant.now().isAfter
- نامحدود: رشته::toLowerCase (lambda: str -> str.toLowerCase())
- سازنده کلاس: TreeMap::new (lambda: () -> new TreeMap)
- آرایه ساز: بین المللی[]::new (lambda: len -> new int[len])
نتیجه
اولویت برای مراجع برای روشها: از ارجاع به روشها زمانی استفاده کنید که کوتاهتر و واضحتر از لامبدا هستند.
استفاده از Lambdas: اگر مختصرتر هستند یا مستندات بهتری ارائه می دهند، لامبدا را ترجیح دهید.