Перейти к основному содержимому

1310 записей с тегом "Java"

Посмотреть все теги

· 4 мин. чтения

1. Обзор

Иногда мы можем столкнуться с трудностями при сопоставлении строки с регулярным выражением . Например, мы можем не знать, что именно мы хотим сопоставить, но мы можем осознавать его окружение, например, что находится непосредственно перед ним или чего не хватает после него. В этих случаях мы можем использовать утверждения обхода. Эти выражения называются утверждениями, потому что они только указывают, является ли что-то совпадением или нет, но не включаются в результат.

В этом руководстве мы рассмотрим, как мы можем использовать четыре типа утверждений обхода регулярных выражений.

2. Положительный взгляд вперед

Допустим, мы хотели бы проанализировать импорт java-файлов. Во-первых, давайте найдем операторы импорта, которые являются статическими , проверив, что ключевое слово static следует за ключевым словом import .

· 5 мин. чтения

1. Обзор

В этом кратком руководстве мы увидим, как выполнять кодирование и декодирование файла PDF с помощью Base64 с использованием Java 8 и кодека Apache Commons .

Но сначала давайте кратко рассмотрим основы Base64.

2. Основы Base64

При отправке данных по сети нам нужно отправить их в двоичном формате. Но если мы отправим только 0 и 1 , разные протоколы транспортного уровня могут интерпретировать их по-разному, и наши данные могут быть повреждены во время передачи.

· 4 мин. чтения

1. Введение

В этом руководстве мы рассмотрим различные способы преобразования значения типа double в String с удалением десятичных разрядов.

Мы рассмотрим, как это сделать, когда мы хотим просто обрезать десятичную часть и когда мы хотим ее округлить.

2. Усечение с помощью приведения

Если наше значение типа double находится в пределах диапазона int , мы можем привести его к типу int . Приведение усекает десятичную часть, то есть обрезает ее без округления.

· 2 мин. чтения

1. Обзор

В этом уроке мы покажем, как сортировать String по алфавиту.

Может быть много причин, по которым мы хотели бы это сделать — одна из них может быть проверка, если два слова состоят из одного и того же набора символов. Так мы проверим, являются ли они анаграммой.

2. Сортировка строки

Внутри String использует для работы массив символов. Поэтому мы можем использовать метод toCharArray() : char[] , отсортировать массив и создать новую строку на основе результата:

· 2 мин. чтения

1. Введение

Проще говоря, CharSequence и String — это две разные фундаментальные концепции в Java.

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

2. Последовательность символов

CharSequence — это интерфейс, представляющий последовательность символов. Изменчивость не обеспечивается этим интерфейсом. Поэтому и изменяемые, и неизменяемые классы реализуют этот интерфейс.

· 6 мин. чтения

1. Введение

Абстракция — одна из ключевых особенностей объектно-ориентированного программирования. Это позволяет нам скрыть сложности реализации, просто предоставляя функциональные возможности через более простые интерфейсы. В Java мы достигаем абстракции, используя либо интерфейс, либо абстрактный класс .

В этой статье мы обсудим, когда использовать интерфейс и когда использовать абстрактный класс при разработке приложений. Кроме того, основные различия между ними и то, какой из них выбрать в зависимости от того, чего мы пытаемся достичь.

2. Класс против интерфейса

Во-первых, давайте посмотрим на различия между обычным конкретным классом и интерфейсом.

· 3 мин. чтения

1. Введение

Project Lombok — популярная библиотека для сокращения шаблонов Java.

В этом кратком руководстве мы рассмотрим, как аннотация Lombok @Getter работает с логическими полями, чтобы избавиться от необходимости создавать соответствующие методы получения.

2. Зависимость от Maven

Давайте начнем с добавления Project Lombok в наш pom.xml :

· 5 мин. чтения

1. Обзор

Библиотека Lombok предоставляет отличный способ реализовать шаблон Builder без написания шаблонного кода: аннотацию @Builder .

В этом коротком руководстве мы специально узнаем , как работать с аннотацией @Builder, когда речь идет о наследовании . Мы продемонстрируем две техники. Один полагается на стандартные функции Lombok. Другой использует экспериментальную функцию, представленную в Lombok 1.18.

Для более широкого обзора аннотации Builder мы можем обратиться к Использование аннотации Lombok @Builder .

Подробный обзор библиотеки Project Lombok также доступен в разделе Introduction to Project Lombok .

2. Ломбок @Builder и наследование

· 7 мин. чтения

1. Обзор

Алгоритмы сортировки общего назначения, такие как сортировка слиянием , не делают предположений о входных данных, поэтому они не могут превзойти O (n log n) в худшем случае. Сортировка подсчетом, напротив, имеет предположение о входных данных, что делает его алгоритмом линейной сортировки по времени.

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

2. Сортировка подсчетом

Сортировка подсчетом, в отличие от большинства классических алгоритмов сортировки, не сортирует входные данные путем сравнения элементов. Вместо этого предполагается, что входными элементами являются n целых чисел в диапазоне [0, k ] . Когда k = O(n), сортировка подсчетом будет выполняться за время O(n) .

· 5 мин. чтения

1. Введение

JDK 11 — реализация Java SE 11, выпущенная в сентябре 2018 года.

В этом руководстве мы рассмотрим новую функцию Java 11 для запуска однофайловых программ с исходным кодом.

2. До Java 11

Однофайловая программа — это программа, помещающаяся в один исходный файл.