Тагир Валеев - Stream API: рекомендации лучших собаководов
Vložit
- čas přidán 14. 07. 2016
- Ближайшая конференция - Joker 2024, 9 октября (Online), 15-16 октября (Санкт-Петербург + трансляция).
Подробности и билеты: jrg.su/Ypf1HW
- -
. . . . Тагир Валеев - Stream API: рекомендации лучших собаководов
Конференция JBreak 2016
Новосибирск, 19.03.2016
Stream API уже не первый год с нами и многие вовсю им пользуются. После первоначальной радости возникает понимание, что далеко не всё удаётся сделать стандартными средствами красиво. Мы посмотрим на некоторые типовые задачи, которые хотелось бы решить на Stream API, но не очень очевидно, как это сделать красиво. Будет также рассказано о паре сторонних библиотек, которые облегчают жизнь. - Věda a technologie
Тагир, спасибо тебе❤
Спасибо! Очень интересная тема и доклад
потрясающая презентация!!! то, что надо и просто образец как делать презентацию!! спасибо!
Человек со стримозом мозга в квадрате, используя его же терминологию. 🤣
Рубашка в штанишки, штанишки в носочки, носочки в сандалики...
и зарплата в миллионах)
А можно ссылочку на презентацию?
если серьезно оценивать, то все примеры в докладе сильно притянуты за уши.
все задачи можно решить обычным способом (без стримов) не более громоздким кодом, а в последних примерах (разбиение по числу элементов и по суффиксу) даже более коротко.
плюс ко всему код будет явно более понятным и читаемым, чем с использованием стримов.
да, стримы дают больше функциональности и изящности коду, но они обязывают разработчиков знать весь используемый набор api, а значит уровень входа выше..
допускаю, в каких-то случаях использовать стримы даже удобно.. но тотальное использование в проекте это реально "стримоз"..
не увидел в докладе самой главной проблемы стримов - обработка исключений.. как с этим бороться кроме как оборачивания checked в unchecked и последующего развертывания обратно?
Может кто-нибудь объяснить почему используются локальные переменные, например AtomicBoolean в примере 7, как глобальные в предикатах для метода filter??
Компилятор требует, чтобы захватываемая лямбдой (или анонимным классом) переменная была effectively final. Т.к. известно, что она не изменится, можно безнаказанно выводить её за пределы её скоупа. По сути будет использоваться копия значения. Тут описано подробнее itsobes.ru/JavaSobes/kak-v-liambde-izmenit-vneshniuiu-lokalnuiu-peremennuiu/
@@detarametawagotodsffasdg9067
10:40
привет. не подскажешь, что это за метод asList()?
я знаю только Arrays.asList(someArray). Но это же не он.
@@manOfPlanetEarth Хз, нужно ли через 5 месяцев, но это скорее всего просто статическим импорт Arrays.asList
@@TheSelecao9
да, это он самый)) я тогда не знал.
Нельзя радоваться Stream API после того, как познал LINQ. Который, минуточку, появился аж в 2008 году.
Единственное полезное выступление на этой конференции. Спасибо тебе, анонимный задрот.