Тагир Валеев - Stream API: рекомендации лучших собаководов

Поделиться
HTML-код
  • Опубликовано: 12 сен 2024
  • Ближайшая конференция - Joker 2024, 9 октября (Online), 15-16 октября (Санкт-Петербург + трансляция).
    Подробности и билеты: jrg.su/Ypf1HW
    - -
    . . . . Тагир Валеев - Stream API: рекомендации лучших собаководов
    Конференция JBreak 2016
    Новосибирск, 19.03.2016
    Stream API уже не первый год с нами и многие вовсю им пользуются. После первоначальной радости возникает понимание, что далеко не всё удаётся сделать стандартными средствами красиво. Мы посмотрим на некоторые типовые задачи, которые хотелось бы решить на Stream API, но не очень очевидно, как это сделать красиво. Будет также рассказано о паре сторонних библиотек, которые облегчают жизнь.

Комментарии • 19

  • @user-qg3kx2cq7d
    @user-qg3kx2cq7d 6 месяцев назад

    Тагир, спасибо тебе❤

  • @NikolayMishin
    @NikolayMishin Год назад

    потрясающая презентация!!! то, что надо и просто образец как делать презентацию!! спасибо!

  • @MsAssassinnn
    @MsAssassinnn 8 лет назад +5

    А можно ссылочку на презентацию?

  • @aliaksandrbelavusau4655
    @aliaksandrbelavusau4655 8 лет назад

    Спасибо! Очень интересная тема и доклад

  • @user-dk2xo9hj2m
    @user-dk2xo9hj2m 8 лет назад +23

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

  • @1upRedis
    @1upRedis 7 лет назад +2

    Может кто-нибудь объяснить почему используются локальные переменные, например AtomicBoolean в примере 7, как глобальные в предикатах для метода filter??

    • @detarametawagotodsffasdg9067
      @detarametawagotodsffasdg9067 5 лет назад +1

      Компилятор требует, чтобы захватываемая лямбдой (или анонимным классом) переменная была effectively final. Т.к. известно, что она не изменится, можно безнаказанно выводить её за пределы её скоупа. По сути будет использоваться копия значения. Тут описано подробнее itsobes.ru/JavaSobes/kak-v-liambde-izmenit-vneshniuiu-lokalnuiu-peremennuiu/

    • @manOfPlanetEarth
      @manOfPlanetEarth 3 года назад

      @@detarametawagotodsffasdg9067
      10:40
      привет. не подскажешь, что это за метод asList()?
      я знаю только Arrays.asList(someArray). Но это же не он.

    • @TheSelecao9
      @TheSelecao9 3 года назад

      @@manOfPlanetEarth Хз, нужно ли через 5 месяцев, но это скорее всего просто статическим импорт Arrays.asList

    • @manOfPlanetEarth
      @manOfPlanetEarth 3 года назад +1

      @@TheSelecao9
      да, это он самый)) я тогда не знал.

  • @CuriousPassenger
    @CuriousPassenger 7 лет назад +4

    Нельзя радоваться Stream API после того, как познал LINQ. Который, минуточку, появился аж в 2008 году.

  • @esabkosabko4902
    @esabkosabko4902 Год назад

    Человек со стримозом мозга в квадрате, используя его же терминологию. 🤣

  • @dskfjhasdlfkasadfhasdlfuha6456
    @dskfjhasdlfkasadfhasdlfuha6456 8 лет назад +3

    Единственное полезное выступление на этой конференции. Спасибо тебе, анонимный задрот.

  • @grigorii9019
    @grigorii9019 3 года назад +1

    Рубашка в штанишки, штанишки в носочки, носочки в сандалики...