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

แชร์
ฝัง
  • เผยแพร่เมื่อ 6 ก.ย. 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 ปีที่แล้ว

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

  • @user-dk2xo9hj2m
    @user-dk2xo9hj2m 7 ปีที่แล้ว +23

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

  • @MsAssassinnn
    @MsAssassinnn 8 ปีที่แล้ว +5

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

  • @aliaksandrbelavusau4655
    @aliaksandrbelavusau4655 8 ปีที่แล้ว

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

  • @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 году.

  • @dskfjhasdlfkasadfhasdlfuha6456
    @dskfjhasdlfkasadfhasdlfuha6456 8 ปีที่แล้ว +3

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

  • @esabkosabko4902
    @esabkosabko4902 ปีที่แล้ว

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

  • @grigorii9019
    @grigorii9019 3 ปีที่แล้ว +1

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

    • @u_n_d_e_r_s_c_o_r_e_d
      @u_n_d_e_r_s_c_o_r_e_d 8 หลายเดือนก่อน +3

      и зарплата в миллионах)