TGViewer
Channel Public Channel
Java Learning

Java Learning

@java_per_month

№ 5079899194

Обучающий канал по Java

Ссылка для друга - https://t.me/+ZEYYht6-46w5MDM6

По всем вопросам @mascarov_valentin

Реклама на бирже - https://telega.in/c/Java_per_month
Subscribers
16.5K
Photos
1.6K
Videos
1
Links
1K

Showing posts older than #2649 · Back to latest

Older Posts 20 shown
Post #2648 2.65K
➡️ Новые варианты применения instanceof из Java 16

Чтобы проверить, к какому классу относится объект, используют оператор instanceof. Если нужно проверить объект и привести его к нужному виду, раньше объявляли переменную, присваивали ей тип, а затем проверяли объект:

Object string = "this is string!";

if(string instanceof String){
String realString = (String) string;
System.out.println(realString);
}


✔️ Начиная с Java 16 присвоение не требуется. Значение переменной можно задать прямо в выражении:

if(string instanceof String realString){
System.out.println(realString);
}


🗣️ Если условие проверки не выполняется, оператор instanceof не ограничивается фигурными скобками внутри условия if, а проверяет код дальше:

Object object = 23;

if (!(object instanceof Number number)) {
throw new IllegalArgumentException("this is not a Number!");
}

System.out.prin


⚙️ То есть проверка !(object instanceof Number number) выдаёт результат false, и после выхода из if мы можем использовать number для реализации своей логики.

Java Learning 👩‍💻
  • 👍 13
Post #2646 2.23K
➡️ Фабричный метод коллекции

✔️ Коллекции — наиболее часто используемая функция в нашем ежедневном программировании. Они используются в качестве контейнера, в котором мы храним объекты и передаем их дальше.

Коллекции также используются для сортировки, поиска и перебора объектов, что упрощает жизнь программиста. Он предоставляет несколько базовых интерфейсов, таких как List, Set, Map и т. д., а также множество реализаций.

Традиционный способ создания коллекций и карт может показаться многим разработчикам многословным.

👀 Вот почему в Java 9 появилось несколько очень кратких фабричных методов.

Java Learning 👩‍💻
  • 👍 8
Post #2643 2.43K
⚙️ Более эффективная работа с коллекциями

Java предоставляет множество мощных инструментов для работы с коллекциями. Одним из них является Collectors.partitioningBy, который позволяет разделить элементы потока на две группы на основе заданного предиката.

➡️ Эта функция упрощает обработку и классификацию данных.

Java Learning 👩‍💻
  • 👍 23
  • ❤ 1
Post #2642 2.63K
✔️ Использование Collectors.teeing для объединения потоков

Java 12 представила новый метод Collectors.teeing, который позволяет объединить результаты двух различных коллекторов в один итоговый результат.

🗣️ Эта возможность значительно упрощает обработку сложных потоков данных.

Java Learning 👩‍💻
  • 👍 14
  • 🤔 1
Post #2641 2.67K
➡️ Сила коллекций: Неизменяемые коллекции в Java

Java 10 ввела полезную возможность создания неизменяемых копий коллекций с помощью новых методов copyOf.

✔️ Эти методы предоставляют простой способ создания неизменяемых представлений существующих коллекций, улучшая безопасность и надежность кода.

Java Learning 👩‍💻
  • 👍 19
Post #2639 2.34K
✔️ Использование Flow API для реактивного программирования

Java 9 представила Flow API, который обеспечивает стандартный интерфейс для реализации реактивного программирования.

🗣️ Flow API позволяет создавать асинхронные, нелокальные потоки данных, упрощая работу с реактивными системами.

Java Learning 👩‍💻
  • 👍 10
Post #2637 2.35K
➡️ Мощь статических методов: Использование методов интерфейсов

✔️ В Java 8 была введена возможность определения статических методов в интерфейсах, что открыло новые возможности для создания удобных и мощных утилитарных функций прямо в интерфейсах.

🗣В интерфейсе ListUtils определен статический метод max, который находит максимальный элемент в коллекции.

🗣В методе main мы вызываем статический метод max из интерфейса ListUtils, передавая ему список чисел.

🗣Мы выводим найденное максимальное число на экран.

Java Learning 👩‍💻
  • 👍 16
Post #2636 2.68K
➡️ Использование Local-Variable Type Inference

✔️ Функция Local-Variable Type Inference позволяет объявлять локальные переменные без явного указания их типа, что делает код более компактным и улучшает его читаемость

Java Learning 👩‍💻
  • 👍 14
  • ❤ 1
  • 😢 1
Post #2635 3.04K
💪 Мощный инструмент в одной строке: Метод of()

Метод of() обеспечивает компактный способ создания неизменяемых коллекций.

🗣️ Этот метод является удобным и эффективным инструментом для создания коллекций с набором известных элементов.

Java Learning 👩‍💻
  • 👍 15
Post #2633 2.4K
👀 Метапрограммирование с помощью Java

Java 16 представила новую функциональность, позволяющую динамически изменять классы во время выполнения — метапрограммирование.

🗣️ Метапрограммирование может упростить решение некоторых сложных задач, таких как обработка аннотаций, создание динамических прокси и многое другое

Java Learning 👩‍💻
  • 👍 11
Post #2632 2.44K
✔️ Удобная работа с текстом: Текстовые блоки в Java

Java 13 представила удобную возможность для работы с многострочными строками — текстовые блоки.

➡️ Текстовые блоки позволяют легко создавать и форматировать многострочные строки, улучшая читаемость и удобство работы с текстовыми данными.

Java Learning 👩‍💻
  • 👍 12
Post #2630 2.64K
⚙️ Эффективное управление памятью: MemorySegment в Java

Мощный API для управления памятью — MemorySegment, который является частью Project Panama.

🗣️ Этот API позволяет безопасно и эффективно управлять памятью вне кучи, предоставляя новые возможности для продвинутых пользователей

Java Learning 👩‍💻
  • 👍 8
  • 🤔 1
Post #2629 2.71K
✔️ Упрощение потоков данных: Stream.toList() в Java

Java 16 представила удобный метод Stream.toList(), который упрощает преобразование стрима в неизменяемый список.

👀 Это небольшое, но полезное улучшение, которое помогает писать более чистый и лаконичный код.

Java Learning 👩‍💻
  • 👍 11
Post #2627 2.31K
🧑‍💻 Виртуальные потоки в Project Loom

Project Loom — это лёгкие потоки, которые упрощают разработку многопоточных приложений и значительно улучшают масштабируемость.

✔️ Используйте виртуальные потоки, чтобы значительно улучшить производительность и масштабируемость вашего кода.

Java Learning 👩‍💻
  • 👍 11
Post #2625 2.58K
🪄 Магия сопоставления шаблонов: Switch Expressions

ℹ️ Switch Expressions позволяет писать более компактный и выразительный код при использовании оператора switch.

Java Learning 👩‍💻
  • 👍 21
Post #2624 2.87K
✔️ Улучшение работы с текстом: Text Blocks

Java 17 представила полезную возможность — Text Blocks, которая упрощает работу с многострочными строками.

🗣️ Text Blocks позволяют легко включать большие фрагменты текста в код без необходимости экранирования символов.

Java Learning 👩‍💻
  • 👍 25
Post #2623 2.91K
✔️ Как сделать ваш код чище с Records

Records — это новый тип классов в Java, который значительно упрощает создание классов, предназначенных для хранения неизменяемых данных.

🗣️ Они автоматически предоставляют стандартные методы, такие как equals(), hashCode() и toString(), что делает код более чистым и менее многословным.

Java Learning 👩‍💻
  • 👍 7
  • ❤ 1
Post #2621 2.58K
➡️ Sealed Classes в Java

Sealed classes позволяют разработчикам ограничивать, какие классы могут наследоваться от конкретного класса или реализовывать интерфейс.

🗣️ Это полезно для создания более предсказуемой и контролируемой иерархии классов.

Java Learning 👩‍💻
  • 👍 9
  • ❤ 2
Post #2620 2.72K
  • 😁 25
  • 👍 13
Post #2619 2.87K
⌛ Что будет выведено при выполнении кода?

Java Learning 👩‍💻
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →