String — наиболее часто используемый класс Java. Очевидная причина этого в том, что строки — исключительно важный элемент программирования.
Класс java.lang.String состоит из трех final полей: массив символов, длина строки и сдвиг в массиве, с помощью которого реализуется метод substring. Так же в этом классе есть поле, в котором хранится посчитанный хэшкод, после первого вызова метода hashCode.
Стоит знать, что:
- Строки в Java являются индексированными. То есть под каждым индексом лежит какой-то символ (Строка рассматривается как набор символов).
- Строки являются постоянными; их значения не могут быть изменены после создания. То есть при любых изменениях строки, будет создаваться новая строка.
- String представляет собой строку в формате UTF-16, в котором дополнительные символы представлены в виде суррогатных пар. Значения индекса относятся к единицам кода char, поэтому дополнительный символ использует две позиции в String.
- Строки в Java нельзя наследовать, так как классы объявлены final, поэтому наследоваться не получится.
- Сравнивать строки с помощью логических операторов (== ,а также !=) не получиться, так как сравниваются ссылки на объекты (Это вам не Python).
Основные методы
Здесь мы рассмотрим основные методы класса String
- str1.charAt(индекс символа);
Возвращает символ из строки по индексу
- str1.codePointAt(индекс символа);
Достает символ по индексу и возвращает ее числовой код (ascii)
- str1.compareTo(str2);
Данный метод сравнивает две строки лексически или лексикографически. Возвращает числовое значение.
Пример: str1=JAva str2=Java. Возвращает -32 или 32.
Происходит вычитание символов
- str1.compareToIgnoreCase(str2);
Данный метод сравнивает две строки без учета регистра. (см. метод compareTo)
Пример: str1=JAva str2=Jaca. Возвращает -19 или 19.
- str1.concat(str2);
Данный метод предназначен для слияния, объединения, сложения двух строк.
Пример: str1=Java str2=Java. Возвращает JavaJava.
- str1.equals(str2);
Данный метод сравнивает две строки на равенство значений. Возвращает boolean.
Пример: str1=JAva str2=Java. Возвращает false.
- str1.equalsIgnoreCase(str2);
Данный метод сравнивает две строки на равенство значений без учета регистра. Возвращает boolean.
Пример: str1=JAva str2=Java. Возвращает true.
- str1.isEmpty();
Данный метод возвращает true если длинна строки равна 0.
Пример str1="". Возвращает false.
- str1.length();
Данный метод возвращает количество символов в строке.
Пробел тоже считается за символ!!!
- str1.split(строку/символ);
Данный метод принимает разделитель и возвращает массив строк.
Пример: str1=Hot_Java
str1.split("_"). Возвращает 'Hot', 'Java'.
- str1.toCharArray();
Данный метод возвращает массив с символами строки.
- str1.trim();
Данный метод обрезает пробелы в начале и в конце строки.
Пример: str1=" Java ". Возвращает "Java"