Stream API в Android

#советы #разработка



С недавних пор одной из моих любимых библиотек стала Lightweight Stream API. Она позволяет использовать возможности Stream API на Java 6 и 7, причем добавляет несколько новых фукнций. Библиотеку можно найти тут.



В чем же удобство Stream при разработке? Для себя я выделил несколько моментов:



1) Обработка null, используя Optional. Теперь можно уйти от проверки на null в большинстве объектов. Для этого надо воспользоваться функцией Optional.ofNullable()



2) Иная обработка списков. Теперь можно использовать Stream для работы со списком. После этого доступна куча операторов, которые вы можете найти по ссылке выше. В результате получаем изящную цепочку из операторов.



3) Работа с Throwable. Теперь можно заменить try/catch на отдельный оператор, который легко включается в цепочку вызовов.



Ну и напоследок кусок кода, который мне очень нравится. Когда идет написание кастомной View и добавление атрибутов к ней, то появляется код, который выглядит не экстетично. Заменив всё на Stream API получим такую красоту.



Исходный код AttributeLoader тут.