Методы Java String

Реализация языка программирования без обработки в нем строк была бы неполной. Так как в Java абсолютно всё представлено объектами, то и организовано это с помощью класса String. Он обладает своими свойствами и методами.

String является одним из самых главных классов для работы со строковыми переменными в Java. Так как текстовые данные очень часто используются при программировании, то String обладает множеством различных методов, помогающих разработчику быстро и надёжно реализовать практически любой функционал.

java string

Объект String всегда доступен в программе без отдельного импорта, так как расположен в java.lang.String.

Краткий обзор методов String

  • length(). Как следует из названия, данный метод возвращает длину строки объекта String.
  • isEmpty(). Проверяет пустоту экземпляра String.
  • concat(). Представляет собой объединение двух экземпляров текстовых данных.
  • charAt(int индекс_символа). Вернёт определённый символ из строки, номер которого указан в переменной индекс_символа.
  • compareTo(String Другая_строка). Сравнивает два объекта типа String.
  • compareToIgnoreCase(String Другая_строка). Делает то же самое, что и предыдущий, с одним отличием — игнорирует регистр символов.
  • contains(CharSequense ряд_символов). Возвращает истину или ложь, в зависимости от того, имеется ли в String искомый набор букв или цифр.
  • matches(String регулярное_выражение). Проверяет, соответствует ли строка регулярному выражению, указанному в качестве аргумента.
  • replace(CharSequense цель, CharSequense значение). Переставляет последовательность символов, указанную в цели на ту, которая передается в значении.
  • replaceAll(String регулярное_выражение, String значение). Меняет набор букв, соответствующему регулярному выражению, на то что указано во втором параметре.
  • split(String регулярное_выражение). В результате вызова данного метода возвращается массив, который разбивается на элементы согласно регулярному выражению.
  • format(Locale локаль, String формат, Object... список аргументов) форматирует строку в более удобное представление.
  • substring(int начальный_символ). Возвращает набор символов, выбранных в соответствии с указанным начальным и конечным значением.

Данный список не полный. Количество методов на самом деле гораздо больше. Но оставшиеся используются крайне редко.

Метод length()

С задачей измерения длины строки в коде сталкивался каждый программист, независимо от языка, на котором реализуется проект. Это действие выполняется путем вызова в Java String.length(). Результатом его работы является целочисленное значение типа int. Оно показывает количество символов в строке.

java string length

В результате работы данного примера в консоль выведется «Длина строки: 35 символов». Измерение может понадобиться в целях ее дальнейшего изменения по какому-либо принципу. Или же просто нужно знать, какой размер она занимает.

Метод concat()

Иногда программисту может понадобиться объединить две строки в одну. Это актуально при формировании дат с разными окончаниями, вывода различных составных значений и тому подобные действия. Данная операция легко реализуется с помощью метода concat().

Его синтаксис выглядит вот так — string1.concat(string2). Результатом выполнения будет строка, получившаяся от соединения двух исходных. Применять метод не обязательно к объекту типа String. Можно использовать concat и таким образом: «Привет, ».concat(«мир!»). Однако, на практике, чаще всего используют оператор «+», который обладает тем же функционалом. Пример: «Привет, » + «мир!».

Метод charAt()

Чтобы вычленить из общей строки один необходимый символ, используется метод charAt(). Вызывается он тем объектом, из которого нужно это сделать, с указанием значения индекса типа int. Результатом работы метода будет один символ типа char. Стоит учесть, что индекс начинается с «0». То есть в слове «Калифорния», значение буквы «а» будет равно 1. Неопытные программисты очень часто сталкиваются с этой распространенной ошибкой.

Метод compareTo()

Данный метод сравнивает две строки лексически. Происходит это на базе таблицы символов Unicode. В результате работы метода возвращается значение типа int, по которому можно судить о схожести двух строк. При отрицательном int, объект, вызвавший метод, будет меньше чем, указанный в качестве параметра. При положительном результате — наоборот. Ну, а если метод вернет «0», то оба объекта совпадают.

методы string java

Метод contains()

Метод contains() возвращает логическое значение true или false, в зависимости от того, содержит ли вызывающая строка фрагмент из символов. Его синтаксис выглядит так:

public boolean contains(CharSequense s)

Если s будет равно null, то метод выбьет исключение NullPointerException, которое придется вовремя перехватить и обработать соответствующим образом.

Методы replace() и replaceAll()

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

Метод replaceAll() делает практически то же самое, но вместо образца набора символов используется регулярное выражение. Это может оказаться очень удобным для отделения некоторых букв от цифр или в других похожих моментах.

Примеры использования обоих методов:

java lang string

Метод split()

Данный метод представляет очень интересный функционал. Вкратце синтаксис выглядит так: String.split. Java реализует метод split путем разбиения строки на составные части по образцу из регулярного выражения. Результатом его работы будет массив типа String. С таким подходом очень удобно разделять строки, представляющие наборы телефонных номеров, артикулов и других значений, объединённых общим принципом.

Синтаксис и пример работы String.split Java выглядит так:

 string split java

Здесь происходит разбитие первоначальной строки по пробелу сначала на 4 части, а затем на 2.

Метод format()

Для придания получившихся в итоге выполнения программы готовых строк используется метод String.format. Java обзавелась этим решением, начиная с 5 версии.

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

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

Метод substring()

Данный метод служит для извлечения подстроки из целой строки. В параметрах передаётся первый индекс начального символа и в перегруженных версиях — последнего. Таким образом, можно найти некоторое слово среди всего текстового набора и извлечь его. Работает метод так: Строка.substring(1, 5). Данное выражение возьмет из строки со 2 по 5 символ включительно и вернёт получившееся значение. Не стоит забывать, что индекс в Java начинается с 0.

Немного о преобразованиях

В процессе программирования неотъемлемо происходят различные преобразования одних типов в другие. Например, может понадобиться получить из строки число для обработки его какой-либо операцией. Это очень распространённое приведение в Java String to int. На практике это выглядит так:

int переменная = Integer.parseInt(Объект_типа_String). Приведение в Java String to int может порождать и исключения. Например, когда в преобразуемой к числу строке,содержатся не только цифры, но и буквы. Естественно, что такое исключение нужно вовремя перехватить и обработать.

 java string to int

Существует и второй тип преобразования строки в число — Integer.valueOf(). Единственная разница между ними состоит в том, что parseInt возвращает примитивный int, а valueOf — объект типа Integer.

Массивы и перечисления очень активно используются при программировании в Java. String array — это совокупность данных, объединённых по общему признаку. Преобразовать строку массив символов очень просто — для этого используется метод toCharArray(). Он разбивает текстовые данные посимвольно и создаёт список с ними. Тип массива при этом будет char[].

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

String.valueOf(значение_или_переменная одного из нескольких типов). Результатом выполнения будет строка.

Вспомогательные методы

Класс Java String обладает несколькими методами, которые помогают преобразовать строку в более приемлемый вид. Например, два метода — toLowerCase() и toUpperCase() - приводят текстовые данные в нижний и верхний регистр соответственно. Это может понадобиться при сборке строки из разных источников путем парсинга или иным способом.

Класс Java String также обладает методом toString(), который, как ни странно, преобразует строку в строку. Однако актуально это может быть только для других классов, превращение которых в текстовое представление является возможным.

Метод trim() в Java String осуществляет удаление лишних пробелов, как в начале, так и в конце строки. Если данные были получены из разных источников и возможно попадание в результирующую переменную ненужных пробелов, то используется именно метод trim().

Сравнение строк

Так как класс Java String, как и все другие, наследуется от Object, то соответственно и реализуют все его методы. Одним из наиболее интересных является equals(). Именно этот метод и рекомендуется использовать при сравнении двух строк.

Его синтаксис выглядит так: Строка1.equals(Строка2). Результатом будет значение true или false, в зависимости от совпадения.

Существует также вариант метода equalsIgnoreCase(), который сравнивает строки без учета их регистра.

Выводы

Рассмотренные методы представляют большую их часть, используемую в повседневной разработке на Java. Остальные, а их на самом деле более 60, не считая перегруженные версии, можно найти на сайте Oracle, в официальном справочнике.

string format java

Разработчики Java использовали как можно больше различных подходов для комфортной и быстрой работы со строками при программировании. Зная необходимое количество методов, можно реализовать практически любую задачу при их преобразовании и обработке.