С момента появления Java 8 я действительно подключился к лямбдам и начал использовать их, когда это было возможно, в основном, чтобы привыкнуть к ним. Одним из наиболее распространенных способов использования является то, что мы хотим перебирать и действовать на коллекцию объектов, и в этом случае я либо прибегаю к forEach, либо stream(). Я редко пишу старый цикл for(T t : Ts), и я почти забыл о for(int i = 0.....).
Однако мы обсуждали это с моим руководителем на днях, и он сказал мне, что лямбды не всегда являются лучшим выбором и могут иногда мешать работе. Из лекции, которую я видел по этой новой функции, у меня появилось ощущение, что итерации лямбда всегда полностью оптимизированы компилятором и будут (всегда?) Лучше, чем голые итерации, но он просит отличиться. Это правда? Если да, то как мне отличить лучшее решение в каждом сценарии?
P.S: Я не говорю о случаях, когда рекомендуется применять parallelStream. Очевидно, что они будут быстрее.