Streams вперше з'явабося в Java 8. Згідно з документацією Oracle, це класи для підтримки операцій функціонального стилю над потоками елементів, таких як перетворення map-reduce в колекціях. Говорячи простіше, потік складається з джерела даних, за яким йдуть нуль або більше проміжних операцій, а потім термінальна операція.
Ми отримуємо об'єкт Stream, викликаючи функцію stream() .
(Проміжна операція) ми застосовуємо функцію filter двічі — кожного разу, коли ми вказуємо умову, якій маємо відповідати лише ті елементи, до яких ми хочемо перейти в наступній фазі.
(Проміжна операція) ми зіставляємо кожен об'єкт String з int викликаючи метод length (використовуючи стиль посилання метод).
(Термінальна операція) підсумовуємо всі попередні значення int .
Спостереження
Хіба другий підхід не здавався більш простим? Ми вказали, що хотіли, а не як ми хотіли це зробити . У цьому дух декларативного програмування та мета Stream API у сучасних додатках Java.
П'ять найкращих плагінів IntelliJ IDEA для Java-розробників
Джерело: GitHub Плагіни можуть бути дуже корисні у багатьох ситуаціях у регулярній роботі з кодом. Вони здатні розширювати основні функції, забезпечувати різні інтеграції та підтримувати автоматизацію багатьох завдань. Ось найкращі плагіни на мою думку:
SonarLint
SonarLint дозволяє виправляти помилки та вразливості при написанні коду. Він виділяє проблеми кодування в режимі реального часу, надаючи розробнику чіткі інструкції з виправлення, тому ви можете виправити їх ще до того, як код буде зафіксований. Цей плагін необхідний, оскільки він дуже покращує написання коду.
Maven Helper
Сподіваюся, ви використовуєте Maven? Я так! Плагін Maven Helper забезпечує:
простий спосіб аналізу та виключення конфліктуючих залежностей;
простий спосіб пошуку прямих чи транзитивних залежностей;
дії із запуску/налагодження цілей maven для модуля, що містить поточний файл, або в кореневому модулі;
дія для відкриття терміналу поточним шляхом до модуля maven;
дії для запуску/налагодження поточного тестового файлу. Якщо maven-surefire-plugin налаштований на пропуск або виняток тесту, використовуватиметься мета «verify». Різні стилі конфігурації можна знайти на GitHub .
CodeMetrics
Цей плагін має індикатори-вкладки на основі настроюваного розрахунку складності для файлів Java. Вони дають розробнику підказки у класах та методах, щоб він міг легко визначити, що необхідно перевірити. Хоча це не стандартна метрика, але це близьке наближення до цикломатичної складності . Ви також можете налаштувати розрахунок складності проекту, змінивши відповідні записи конфігурації.
String Manipulation
Перемикання регістру, сортування, фільтрація, збільшення, вирівнювання стовпцями, grepping, екранування, encoding та багато іншого…
JPA Buddy
JPA Buddy спрощує та прискорює все, що пов'язане з JPA. Він надає інструменти, які допоможуть вам у роботі з Hibernate, Spring Data JPA, Liquibase, Flyway. Ключові особливості JPA Buddy:
Сутності JPA: створення та редагування сутностей, атрибутів сутностей, зворотних викликів життєвого циклу, індексів та обмежень. Підтримка конвертерів JPA та користувальницьких типів Hibernate. Можливість використовувати інструкції Lombok для сутностей.
Створення правильних реалізацій методів equals, hashCode та toString для сутностей JPA.
Наміри вихідного коду, перевірки та швидкі виправлення для оголошень сутностей JPA.
Графічне відображення взаємозв'язку сутностей (entity relationship) на панелі структури JPA у вузлі постійних одиниць.
Автоматична генерація журналів змін Liquibase та версійних міграцій Flyway: порівняння бази даних із базою даних, моделі з базою даних, моделі з моментальним знімком.
Візуальний дизайнер журналу змін Liquibase та допомога в кодуванні: створення та редагування елементів, посилання на імена таблиць, імена стовпців, включені файли та інше.
Дії: створення знімка Liquibase, виконання команд Liquibase update і Liquibase updateSQL.
Репозиторії даних Spring: створення репозиторіїв, створення методів репозиторію, редагування властивостей методу, створення проекції з урахуванням класу сутності, отримання запиту JPQL.
Kotlin: всі візуальні дизайнери повністю підтримують генерацію коду для об'єктів та репозиторіїв Kotlin.
Я сказав про п'ятірку найкращих плагінів, але я маю ще один...
Extra Icons
Це колекція іконок, яка додає ярлики для таких файлів, як Markdown, Yaml, Maven, Git та багато інших. Ви звикнете до них, оскільки вони допомагають легко розпізнавати файли. Вони точно вам знадобляться.
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ