Класс String

В языке программирования Java строки — это объект, который представляет из себя последовательность символов. Здесь мы рассмотрим методы создания и управления строками.

ТипМетодОписание
charcharAt(int index)Возвращает char со значением равным символу с индексом index.
intcompareTo(String anotherString)Сравнивает указанную строку. Используется при сортировке.
intcompareToIgnoreCase(String str)Сравнивает указанную строку. Здесь не учитывается регистр.
Stringconcat(String str)Присоединяет строку str к концу родительской строки.
booleancontains(CharSequence s)Возвращает true, если строка содержит указанную последовательность символов.
booleancontentEquals(CharSequence cs)Сравнивает данную строку с указанным CharSequence .
booleancontentEquals(StringBuffer sb)Сравнивает данную строку с указанным StringBuffer .
booleanendsWith(String suffix)Проверяет, заканчивается ли строка с указанной строкой.
booleanequals(Object anObject)Сравнивает строки по значению с учетом регистра.
booleanequalsIgnoreCase(String anotherString)Сравнивает строки по значению без учета регистра.
static Stringformat(String format, Object… args)Возвращает отформатированную строку, используя специальный формат строки и аргументы.
byte[]getBytes()Возвращает представление строки в виде массива байт.
inthashCode()Возвращает хеш-код строки.
intindexOf(int ch)Возвращает индекс первого вхождения символа в строку.
intindexOf(int ch, int fromIndex)Возвращает индекс первого вхождения символа в строку, начиная с указанной позиции.
intindexOf(String str)Возвращает индекс первого символа подстроки в строке.
intindexOf(String str, int fromIndex)Возвращает индекс первого символа подстроки в строке, начиная с указанной позиции.
booleanisEmpty()Проверяет, пустая строка или нет.
intlastIndexOf(int ch)Поиск последнего символа в строку.
intlastIndexOf(int ch, int fromIndex)Поиск последнего вхождения символа в строку. Он Осуществляется назад, от указанной позиции до начала строки.
intlastIndexOf(String str)Поиск последнего вхождения строки.
intlastIndexOf(String str, int fromIndex)Поиск последнего вхождения строки. Он Осуществляется назад, от указанной позиции до начала строки.
intlength()Возвращает количество символов в строке.
booleanmatches(String regex)Проверяет, удовлетворяет ли строка указанному регулярному выражению.
Stringreplace(char oldChar, char newChar)Заменяет в строке один символ на другой
Stringreplace(CharSequence target, CharSequence replacement)Заменяет одну подстроку другой.
StringreplaceAll(String regex, String replacement)Заменяет каждую подстроку данной строки, которая соответствует данному регулярному выражению на заданную строку.
StringreplaceFirst(String regex, String replacement)Заменяет первую подстроку данной строки, которая соответствует данному регулярному выражению на заданную строку.
booleanstartsWith(String prefix)Проверяет, начинается ли строка с указанной строки.
booleanstartsWith(String prefix, int toffset)Проверяет, начинается ли строка в указанной позиции с указанной строки.
Stringsubstring(int beginIndex)Возвращает подстроку начиная с beginIndex (включительно) до конца строки.
Stringsubstring(int beginIndex, int endIndex)Возвращает подстроку начиная с beginIndex (включительно) до endIndex (не включительно).
char[]toCharArray()Преобразует строку в массив символов.
StringtoLowerCase()Конвертирует все символы строки в нижний регистр.
StringtoString()Возвращает сам объект, который уже является строкой.
StringtoUpperCase()Конвертирует все символы строки в верхний регистр.
Stringtrim()Удаляет пробелы в начале и конце строки.
static StringvalueOf(boolean b)Возвращает значение булевой переменной в виде стоки.
static StringvalueOf(char c)Возвращает значение символьной переменной в виде стоки.
static StringvalueOf(char[] data)Возвращает значение массива символов в виде стоки.
static StringvalueOf(char[] data, int offset, int count)Возвращает значение массива символов в виде стоки.
static StringvalueOf(double d)Возвращает значение double-переменной в виде стоки.
static StringvalueOf(float f)Возвращает значение float-переменной в виде стоки.
static StringvalueOf(int i)Возвращает значение int-переменной в виде стоки.
static StringvalueOf(long l)Возвращает значение long-переменной в виде стоки.
static StringvalueOf(Object obj)Возвращает строковое представление объекта.

Создание строк

Самый простой способ создания строки:

String helloWorld= "Hello world!";

Создание строки из символа:

char symbol = 'S'
String helloWorld= new String(symbol);

Создание строки из массива символов:

char[] chars= { 'H', 'e', 'l', 'l', 'o'};
String hello= new String(chars);

Также задать диапазон символьного массива. Для этого нужно указать начало диапазона и количество символов:

char[] chars = {'h', 'e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd'};
String stroka = new String(chars, 3, 6);

Получение длины строки

length() — возвращает количество символов в строке.

Пример:

String hello = "Hello";
int stringLength = helloWorld.length(); //переменная stringLength будет равна 5.

Проверка строки на пустоту

isEmpty() — проверяет, пустая строка или нет.

Пример:

String hello = "";
Boolean isEmpty = helloWorld.isEmpty(); //переменная isEmpty  будет равна true.

Конкатенация (объединение) строк

concat(String str) — присоединяет строку str к концу родительской строки.

Пример:

String hello = "Hello ";
String world = "World!";
String helloWorld = hello.concat(world); //переменная helloWorld будет равна "Hello World!"

Операторы + и += для String

Оператор «+»  — аналог метода concat для String.

Пример:

String hello = "Hello ";
String world = "World!";
String helloWorld = hello + world; //переменная helloWorld будет равна "Hello World!"

Оператор «+=» — присоединяет к строке, стоящей до оператора строку, стоящую после этого оператора.

Пример:

String hello = "Hello ";
String world = "World!"  hello += world; //переменная hello будет равна "Hello World!"

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

equals(String anotherString) — сравнивает строки по значению с учетом регистра.

Пример:

String stroka1 = "hello";
String stroka2 = "Hello";
Boolean equals stoka1.equals(stroka2); //переменная equals будет равняться false

equalsIgnoreCase(String anotherString) — сравнивает строки по значению без учета регистра

String stroka1 = "hEllo";
String stroka2 = "HeLlO";
Boolean equals = stoka1.equalsIgnoreCase(stroka2); //переменная equals будет равняться true

Разница между == и equals()

Оператор == сравнивает ссылаются ли две ссылки на один и тот же объект, в то время как equals() сравнивает содержат ли два объекта одни и те же данные.

Пример:

String stroka1 = "Hello";
String stroka2 = "Hello";
Boolean b1 = stroka1 == stroka2; //переменная b1 будет равняться false;
Boolean b2 = stroka1.equals(stroka2); //переменная b2 будет равняться true;

Форматирование строки

format(String format, Object… args) — возвращает отформатированную строку, используя специальный формат строки и аргументы.

Пример:

String s = String.format("%1$s %2$s %3$s", new String[] {"a", "b", "c"});
System.out.println(s); //выведет a b c

Поиск подстроки в строке

indexOf(String str) — возвращает индекс первого символа подстроки в строке.

Пример:

String s = "HelloWorld!";
int index = s.indexOf("World"); //переменная индекс будет равна 5

indexOf(String str, int fromIndex) — возвращает индекс первого символа подстроки в строке, начиная с указанной позиции.

Пример:

String s = "HelloWorld!";
int index = s.indexOf("World", 4); //переменная индекс будет равна 5

lastIndexOf(String str) — поиск последнего вхождения строки.

Пример:

String s = "HelloWorld! Hello";
int index = s.lastIndexOf("Hello"); //переменная индекс будет равна 13

lastIndexOf(String str, int fromIndex) — поиск последнего вхождения строки. Он осуществляется назад, от указанной позиции до начала строки.

Пример:

String s = "HelloWorld! Hello";
int index = s.lastIndexOf("World", 5); //переменная индекс будет равна 12

startsWith(String prefix) — проверяет, начинается ли строка с указанной строки.

Пример:

String stroka = "Hello World!";
Boolean startsWith stroka.endWith("Hello"); //переменная endWith будет равна true

startsWith(String prefix, int toffset) — проверяет, начинается ли строка в указанной позиции с указанной строки.

Пример:

String stroka = "Hello World!";
Boolean startsWith stroka.endWith("Hello", 2); //переменная endWith будет равна false

endsWith(String str) — проверяет заканчивается ли строка на указанную строку.

Пример:

String stroka = "Hello World!";
Boolean endsWith stroka.endWith("World!"); //переменная endWith будет равна true

contains(CharSequence s) — возвращает true, если строка содержит указанную последовательность символов.

Пример:

String hello = "Hello World";
System.out.println("Содержит слово World: " + hello.contains("World")); //выведет "Содержит слово World: true"

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

compareTo(String anotherString) — сравнивает указанную строку. Используется при сортировке. Здесь учитывается регистр и слова с верхним регистром стоят выше слова с нижним регистром.Если строки совпадают, то возвращается 0, если вызывающая строка меньше строки string то возвращается число меньше нуля, вызывающая строка больше строки string, то возвращается число больше нуля. 

Пример:

String[] sort = { "Sergei", "He's", "Petrov"};

for (int j = 0; j < sort.length; j++) {
	for (int i = j + 1; i < sort.length; i++) {
		if (sort[i].compareTo(sort[j]) < 0) {
			String temp = sort[j];
			sort[j] = sort[i];
			sort[i] = temp;
		}
	}
	System.out.println(sort[j]); //выведет "He's Sergei Petrov"
}

compareToIgnoreCase(String anotherString) — сравнивает указанную строку. Здесь не учитывается регистр. 

Пример:

String[] sort = { "Sergei", "My", "Petrov", "name's"};

for (int j = 0; j < sort.length; j++) {
	for (int i = j + 1; i < sort.length; i++) {
		if (sort[i].compareTo(sort[j]) < 0) {
			String temp = sort[j];
			sort[j] = sort[i];
			sort[i] = temp;
		}
	}
	System.out.println(sort[j]);
}

Получение хеш-кода строки

hashCode() — возвращает хеш-код строки.

Пример:

String stroka = "Hello";
int hash = stroka.hashCode();

Хеш-код у двух одинаковых строк будет одним и тем же.

Изменение регистра строки

toLowerCase() — конвертирует все символы строки в нижний регистр.

Пример:

String hello = "HellO wOrld";
String helloInLowerCase = hello.toLowerCase(); //переменная helloInLowerCase будет равна "hello world!"

toUpperCase() — конвертирует все символы строки в верхний регистр.

Пример:

String hello = "HellO wOrld";
String helloInUpperCase = hello.toUpperCase(); //переменная helloInLowerCase будет равна "HELLO WORLD!"

Удаление лишних пробелов

trim() — удаляет пробелы в начале и конце строки.

Пример:

String str = "  Hello World! ";
String s = str.trim(); //переменная s будет равна "Hello World!"

Получение символа из строки

charAt(int index) — возвращает char со значением равным символу с индексом index.

Пример:

String hello = "HelloWorld!";
char symbol = hello.charAt(4); //переменная symbol будет равна "o", т. к. нумерация символов начинается с 0.

Получение подстроки из строки

substring(int beginIndex, int endIndex) — возвращает подстроку начиная с beginIndex (включительно) до endIndex (не включительно).

Пример:

String hello = "HelloWorld!";
String stroka = helloWorld.substring(0, 5); //переменная stroka будет равна "Hello"

substring(int beginIndex) — возвращает подстроку начиная с beginIndex (включительно) до конца строки.

Пример:

String hello = "HelloWorld!";
String stroka = helloWorld.substring(6); //переменная stroka будет равна "World!".

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

replace(char oldChar, char newChar) — заменяет в строке один символ на другой.

Пример:

char W = 'W';
char V = 'V';
String helloWorld = "Hello World!";
String helloVorld = helloWorld.replace("W", "V"); //переменная helloVorld будет равна "Hello Vorld!"

replace(CharSequence target, CharSequence replacement) — заменяет одну подстроку другой.

String world = "World";
String java = "Java";
String helloWorld = "Hello World!";
String helloJava = helloWorld.replace("world", "java"); //переменная helloWorld будет равна "Hello Java!"

Получение строковых представлений классов

valueOf(boolean b) — возвращает значение булевой переменной в виде стоки.

Пример:

boolean isEmpty = true;
String stroka= String.valueOf(isEmpty);

valueOf(char c) — возвращает  значение символьной переменной в виде стоки.

Пример:

char symbol = 'S';
String stroka= String.valueOf(isEmpty);

valueOf(char[] data) — возвращает значение массива символов в виде стоки.

Пример:

char[] chars = {'h', 'e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd'};
String stroka = String.valueOf(chars);

valueOf(char[] data, int offset, int count) —  возвращает значение массива символов в виде стоки.

Пример:

char[] chars = {'h', 'e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd'};
String stroka = String.valueOf(chars, 5, 5);

valueOf(double d) —  возвращает значение double-переменной в виде стоки.

Пример:

double price = 10.5;
String stroka= String.valueOf(price);

valueOf(float f) — возвращает значение float-переменной в виде стоки.

Пример:

float price = 10.5;
String stroka= String.valueOf(price);

valueOf(int i) — возвращает значение int-переменной в виде стоки.

Пример:

Boolean price = 2000;
String stroka= String.valueOf(price);

valueOf(long l) — возвращает значение long-переменной в виде стоки.

Пример:

long price = 1000;
String stroka= String.valueOf(price);

valueOf(Object obj) — возвращает строковое представление объекта.

Пример:

Boolean isEmpty = true;
String stroka= String.valueOf(isEmpty);

Проверка строки регулярным выражением

matches(String regex) — проверяет, удовлетворяет ли строка указанному регулярному выражению.

Пример:

String phone_number = "+79260000000";
Boolean isPhoneNumber = phone_number.matches("^((8|+7)[- ]?)?((?d{3})?[- ]?)?[d- ]{7,10}$"); //переменная isPhoneNumber равна true

Перевод строки в байты

getBytes() — возвращает представление строки в виде массива байт.

Пример:

String helloWorld = "Hello World!";
byte[] helloByte = helloWorld.getBytes();

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Ваш комментарий будет опубликован после модерации