Блок 1 | Lambda Flashcards

1
Q

Что такое lambda-выражение?

A

Лямбда-выражение - это анонимный класс, реализующий метод функционального интерфейса, который записан с использованием особого синтаксиса (лямбда оператора) и может быть передан в качестве параметра.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Что такое отложенное выполнение lamdba?

A

Отложенное выполнение (deferred execution) - это свойство лямбда выражения, которое подразумевает то, что код внутри lambda-выражения не выполняется, пока оно не вызвано.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Что такое ссылки на методы?

A

Существуют методы, которые могут принимать в качестве параметра ссылку на функциональный интерфейс или его реализацию в виде лямбда-выражения. Вместо этого, в такой метод можно передать ссылку на метод, который совпадает по сигнатуре с ожидаемым функциональным интерфейсом. То есть, по сути, может его реализовать.
Ссылка на метод выглядит так: ИмяКласса::ИмяМетода

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Что такое ссылки на конструкторы?

A

Ссылка на конструктор является тем же, что и ссылка на метод, выглядит она так: ИмяКласса::new

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Расскажите о зоне видимости переменных в lambda - выражениях?

A

Лямбда-выражение имеет доступ:
1. К полям класса объемлющего метода и может их изменять.
2. К локальным переменным объемлющего метода, но не может их изменять и эти переменные должны быть либо final, либо effectively final. В противном случае, мы получим ошибку компиляции.
3. Переменные объявленные внутри лямбда-выражения, доступны только в лямбда-выражении.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Как быть в ситуации, если внутри lambda - выражения операторы могут выкинуть исключение?

A

Лямбда-выражение может генерировать исключения и, в случае, если исключение является проверяемым, то оно должно быть описано в реализуемом функциональном интерфейсе после оператора throws.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly