Вниз  Retrolambda
- 28.12.2014 / 14:06
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
Retrolambda — конвертирует байткод с лямбдами из Java 8 в вызов анонимных классов для Java 7 и ниже.

Что это нам даёт? Мы можем избавиться от создания анонимных классов в коде при добавлении обработчиков. Особенно это полезно в Android-приложениях, где используется Java 6.

Retrolambda кроме самих лямбд поддерживает ссылки на метод, а также try-with-resources из Java 7 и switch для строк из Java 7.

1 из 3Пример для Android
Было
  1. mButton.setOnClickListener(new View.OnClickListener() {
  2.     @Override
  3.     public void onClick(View v) {
  4.         v.setBackgroundColor(0xFF00FF00);
  5.     }
  6. });



Retrolambda: https://github.com/orfjackal/retrolambda
Плагин для Gradle (Android): https://github.com/evant/gradle-retrolambda
Ещё ссылки: http://zserge.com/blog/android-lambda.html
__________________
 let live

Изменено aNNiMON (28.12 / 14:25) (всего 4 раза)
- 28.12.2014 / 15:09
Kalter
  Пользователь

Kalter 
Сейчас: Offline
Retrolambda — конвертирует байткод с лямбдами из Java 8 в вызов анонимных классов для Java 7 и ниже.То есть конвертирует только в одну сторону? Просто описание говорит: "лямбда -> анон. класс", а пример "анон. класс -> лямбда".
__________________
 Homo homini penis est.
- 28.12.2014 / 15:17
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
Kalter, эм, в примере "было", это то как было до использования retrolambda, а "стало" - как стало с использованием.
__________________
 let live
- 28.12.2014 / 16:18
Ксакеп
  Модератор форума

Ксакеп 
Сейчас: Offline
aNNiMON, забавно, учитывая, что лямбды — сахар. Ровно как и анонимные классы.
- 28.12.2014 / 23:59
Naik
  Пользователь

Naik 
Сейчас: Offline
IDEA умеет сворачивать такой код как «было» в такой как «стало». Когда ставишь курсор — разворачивается.
- 29.12.2014 / 00:00
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
Naik, одно дело видеть такое, а другое дело писать сразу так, как есть.
__________________
 let live
- 29.12.2014 / 12:46
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
Опробовал эту штуку на андроиде. Действительно работает. Ещё бы Stream API портировать.
__________________
 let live
- 29.12.2014 / 13:07
Oak
  Пользователь

Oak 
Сейчас: Offline
Цитата Ксакеп:
aNNiMON, забавно, учитывая, что лямбды — сахар. Ровно как и анонимные классы.
лямбды — не сахар
__________________
 Эль Презеденте
- 29.12.2014 / 13:07
Oak
  Пользователь

Oak 
Сейчас: Offline
Цитата aNNiMON:
Опробовал эту штуку на андроиде. Действительно работает. Ещё бы Stream API портировать.
Кстати, да, без стримов, считай, бесполезная штука
__________________
 Эль Презеденте
- 29.12.2014 / 13:30
Ксакеп
  Модератор форума

Ксакеп 
Сейчас: Offline
Oak, ): а я всегда думал иначе.
Наверх  Всего сообщений: 11
Фильтровать сообщения
Поиск по теме