Лямбда-выражения пришли к нам с Java 8. Подробно о том, что это такое - можно почитать на хабре (https://habrahabr.ru/post/213805/ и https://habrahabr.ru/post/224593/). Также есть хорошая книга на русском (https://www.ozon.ru/context/detail/id/28001133/).

Мы можем использовать лямбда-выражения вместо реализации интерфейса с одним методом. Попробуем на небольшом примере обработчика кнопки. Обычно мы пишем его так:

        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                log("click " + v);
            }
        });

 

а с лямбдой то же самое можно написать так:

        button.setOnClickListener(v -> log("click " + v));

Ушли ненужные строки, описывающие создание анонимного класса.

 

Подключение к проекту

Чтобы иметь возможность использовать лямбда, необходимо выполнить несколько шагов:

1) Скачать и использовать, как основной, JDK 8.

2) Добавить в gradle-файл проекта строки

buildscript {
  repositories {
     mavenCentral()
  }

  dependencies {
     classpath 'me.tatarka:gradle-retrolambda:3.2.3'
  }
}

 
3) Добавить в gradle-файл app-модуля строки

apply plugin: 'me.tatarka.retrolambda'

android {
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

 

После этого можно использовать лямбда-выражения в коде вашего проекта.


Присоединяйтесь к нам в Telegram:

- в канале StartAndroid публикуются ссылки на новые статьи с сайта startandroid.ru и интересные материалы с хабра, medium.com и т.п.

- в чатах решаем возникающие вопросы и проблемы по различным темам: Android, Kotlin, RxJava, Dagger, Тестирование



Похожие статьи


Последние статьи



Language

Система Orphus

Социальные сети

 

Telegram канал



Android чат в Telegram



Группа ВКонтакте



Страница в Facebook

Поддержка проекта

Яндекс
410011180491924

WebMoney
R248743991365
Z551306702056

Paypal

Яндекс.Метрика