Спасибо! Все просто и понятно. Было бы не плохо еще "Основы работы в сети" услышать в Вашем исполнении. Тут было предложение по поводу школы, абсолютно поддерживаю!
согласен, + в идейке есть хорошая функция развертывания лямбд в анонимный класс "Replace lambda with anonymous class" - очень наглядно получается понять, какая часть анонимного класса превращается в составные части написания лямбды. Также и в обратную сторону "Replace with lambda"
Можно ли это назвать "произвольной отложенной реализацией метода" ? Выходит мы подготавливаем/реализуем желаемое "поведение" (алгоритм работы) лямбды и передаем её как параметр в другой метод, а уже в этом методе обращаемся к лямбде вызывая её подготовленный ранее нами алгоритм с передачей необходимых для неё параметров, над которыми и производятся операции в алгоритме лямбды?
Да, в целом все правильно) Вы можете насоздавать несколько ссылок на один интерфес, в каждой из которых предопределить логику, а потом просто вызывать их с нужными значениями
Спасибо за положительный отзыв! Очень признателен :) Пожертвовать любую сумму на развитие канала вы можете, например, переводом на Яндекс.Кошелек - 4100111067476652
а в чем прикол этих лямбд? Каково их практическое применение? Т.е. в каком-то методе я создаю лямбду (например для поиска мин числа), но я так же могу создать там обычный метод без всяких абстрактных классов . В чем преимущество этой люмбды?
Вы не сможете написать метод в методе, так что ваш пример не сработает) Вы сможете реализовать абстрактный метод из абстрактного класса, либо же метод с телом, что отменяет возможность дальнейшего изменения функционала этого метода) Именно по этому Лямбда тоже бывает удобной)
Во-первых да, но есть еще пару особенностей: 1. Лямбда-выражение можно передавать как аргумент в метод, то есть практически мы можем передать метод как аргумент другому методу (до Java8 этого было сделать нельзя) 2. Лямбда, как вы подметили, может иметь собственую реализацию. Применять ли такое на практике часто дело вкуса, длинное Л-выражение может сделать код менее читаемым, нежели передача метода по ссылке + при переводе в байт код наблюдается незначительное снижение производительности при использовании Лямбды. Однако, заметное снижение скорости работы будет только при обработке огромного количества данных, которое может встретиться вам разве что в серьезных проектах... Так что если речь не идет о индивидуальной реализации или передаче метода в метод - можно спокойно использовать обычный метод))
Простое и доступное объяснение, после этого видоса решил домашку и нашел косяк в другом уроке спасибо.
Спасибо!
Вот теперь понял
Спасибо! Все просто и понятно. Было бы не плохо еще "Основы работы в сети" услышать в Вашем исполнении. Тут было предложение по поводу школы, абсолютно поддерживаю!
Большое спасибо за оценку!
Наконецто супер обьяснение
спасибо
Сумбурно несколько. Мне кажется стоило начинать от анонимных функций.
согласен,
+ в идейке есть хорошая функция развертывания лямбд в анонимный класс
"Replace lambda with anonymous class" - очень наглядно получается понять, какая часть анонимного класса превращается в составные части написания лямбды.
Также и в обратную сторону "Replace with lambda"
Хорошо объясняешь, нужно школу открывать
бля, спасибо большое, просто и понятно
Спасибо за видео. Фреймворки бы изучить?)
Можно ли это назвать "произвольной отложенной реализацией метода" ?
Выходит мы подготавливаем/реализуем желаемое "поведение" (алгоритм работы) лямбды и передаем её как параметр в другой метод, а уже в этом методе обращаемся к лямбде вызывая её подготовленный ранее нами алгоритм с передачей необходимых для неё параметров, над которыми и производятся операции в алгоритме лямбды?
Да, в целом все правильно) Вы можете насоздавать несколько ссылок на один интерфес, в каждой из которых предопределить логику, а потом просто вызывать их с нужными значениями
Парень, ты красавчик спасибо огромное, где тебе за донатить 25к можно
Спасибо за положительный отзыв! Очень признателен :) Пожертвовать любую сумму на развитие канала вы можете, например, переводом на Яндекс.Кошелек - 4100111067476652
а в чем прикол этих лямбд? Каково их практическое применение? Т.е. в каком-то методе я создаю лямбду (например для поиска мин числа), но я так же могу создать там обычный метод без всяких абстрактных классов . В чем преимущество этой люмбды?
Вы не сможете написать метод в методе, так что ваш пример не сработает) Вы сможете реализовать абстрактный метод из абстрактного класса, либо же метод с телом, что отменяет возможность дальнейшего изменения функционала этого метода) Именно по этому Лямбда тоже бывает удобной)
Музыка фоном мешает сосредоточиться
Спасибо! Учту
А мне наоборот она помогла переключиться на видео, потому что обычно я привык без музыки заниматься.
т.е. возможны в каждом классе свои реализации этого метода?
Во-первых да, но есть еще пару особенностей:
1. Лямбда-выражение можно передавать как аргумент в метод, то есть практически мы можем передать метод как аргумент другому методу (до Java8 этого было сделать нельзя)
2. Лямбда, как вы подметили, может иметь собственую реализацию.
Применять ли такое на практике часто дело вкуса, длинное Л-выражение может сделать код менее читаемым, нежели передача метода по ссылке + при переводе в байт код наблюдается незначительное снижение производительности при использовании Лямбды. Однако, заметное снижение скорости работы будет только при обработке огромного количества данных, которое может встретиться вам разве что в серьезных проектах... Так что если речь не идет о индивидуальной реализации или передаче метода в метод - можно спокойно использовать обычный метод))
поменяйте картавый голос на нормального спикера. слушать противно.
Хорошо)