Поиск в символьных строках Java

Поиск в символьных строках Java

В классе String предоставляются два метода для поиска в символьной строке определенного символа или подстроки.

  • Метод indexOf() — находит первое вхождение символа или подстроки
  • Метод lastIndexOf() — находит последнее вхождение символа или подстроки

Оба эти метода перегружаются несколькими способами и по-разному. Но в любом случае они возвращают позицию в строке(индекс), где найден символ или подстрока, а при неудачном исходе поиска возвращает значение -1. Читать

Методы startsWith() и endsWith() Java

Методы startsWith() и endsWith() JavaВ классе String определены два метода, являющиеся в большей или меньшей степени специализированными формами метода regionMatches().

Так, в методе startsWith() определяется, начинается ли заданный объект типа String с указанной символьной строки, а в методе endsWith() — завершается ли объект типа String заданной подстрокой. Ниже приведены общие формы этих методов. Читать

Применение метасимволов и кванторов Java

Применение метасимволов и кванторов JavaПодлинное преимущество, которое дает обработка регулярных выражений, невозможно ощуrить, не применяя метасимволы и кванторы. Рассмотрим сначала следующий пример, где квантор + применяется для сопоставления с лю­бой произвольной последовательностью символов W: Читать

Синтаксис регулярных выражений Java

Синтаксис регулярных выражений JavaПрежде чем продемонстрировать применение классов Pattern и Matcher на практике, следует пояснить, каким образом составляется регулярное выраже­ние.

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

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

В общем, регулярное выражение состоит из обычных символов, классов симво­лов (наборов символов), метасимволов и кванторов. Обычный символ сопостав­ляется в исходном виде. Так, если шаблон содержит пару символов «xy«, то с этим шаблоном может совпасть только входная последовательность «xy«. Читать

Класс Matcher Java

Класс Matcher JavaУ этого класса отсутствуют конструкторы. Вместо этого для создания объекта класса Маtcher вызывается фабричный метод matcher(), определяемый в классе Pattern.

Как только объект класса Matcher будет создан, его методы можно использовать для выполнения различных операций сопостав­ления с шаблоном.

Самым простым для сопоставления с шаблоном является метод matches(), который просто определяет, совпадает ли последовательность символов с шабло­ном. Общая форма этого метода приведена ниже. Читать

Применение методов isAlive() и join() Java

Применение методов isAlive() и join() Java

Нередко требуется, чтобы главный поток исполнения завершался последним. С этой целью метод sleep() вызывался в предыдущих примерах из метода main() с достаточной задержкой, чтобы все дочерние потоки исполнения завершились раньше главного.

Но это неудовлетворительное реше­ние, вызывающее следующий серьезный вопрос: откуда одному потоку исполне­ния известно, что другой поток завершился? Правда, в классе Thread предостав­ляется средство, позволяющее разрешить этот вопрос.

Определить, был ли поток исполнения завершен, можно двумя способами. Во­ первых, для этого потока можно вызвать метод isAlive(), определенный в классе Thread. Ниже приведена общая форма этого метода: Читать

Реализация интерфейса runnable Java

Реализация интерфейса runnable JavaСамый простой способ создать поток исполнения состоит в том, чтобы объ­явить класс, реализующий интерфейс Runnable. Этот интерфейс предоставляет абстракцию единицы исполняемого кода.

Поток исполнения можно создать из объекта любого класса, реализующего интерфейс Runnable. Для реализации ин­терфейса Runnable в классе должен быть объявлен единственный метод run(): Читать

Основы наследования в Java

Основы наследования в Java

Чтобы наследовать класс , достаточно ввести определение одного класса в дру­гой, используя ключевое слово extends. Для иллюстрации принципа наследова­ния обратимся к краткому примеру.

В приведенной ниже программе создаются суперкласс А и подкласс В. Обратите внимание на использование ключевого слова extends для создания подкласса, производного от класса А. Читать

Два способа закрытия потока ввода-вывода Java

Два способа закрытия потока ввода-вывода JavaКак правило, поток ввода-вывода следует закрыть, когда он больше не нужен. Если не сделать этого, может произойти утечка памяти и истощение ресурсов.

В версии JDK 7 появились два основных способа, которыми можно закрыть поток ввода-вывода. Первый способ подразумевает явный вызов метода close() для потока ввода-вывода. Это традиционный подход, который применялся с пер­вого выпуска Jаvа. При таком подходе метод close() обычно вызывается в блоке оператора finally. Ниже приведен упрощенный шаблон традиционного способа закрытия потока ввода-вывода.

Эта общая методика ( или ее разновидность) широ­ко применялась в коде, написанном до  появления версии JDК 7. Читать

Обзор класса HttpURLConnection Java, примеры работающих программ

Обзор класса HttpURLConnection Java, примеры работающих программВ Java предоставляется подкласс HttpURLConnection, производный от класса URLConnection и поддерживающий соединения по сетевому протоколу НТТР. Чтобы получить объект класса HttpURLConnection, следует вызвать метод openConnection() для объекта типа URL, как описано в данной статье, но результат нужно привести к типу HttpURLConnection.

Разумеется , при этом необходимо убедиться, что соединение по протоколу HTTP действительно установлено. Получив ссылку HttpURLConnection , можно вызвать любые методы, унаследованные от класса URLConnection, а также любые методы, определенные в самом классе HttpURLConnection. Читать