Java-строки
Строки Java
В этом руководстве мы узнаем о строках Java, о том, как их создавать, и о различных методах класса String с помощью примеров.
В языке Java строка представляет собой последовательность символов. Например, "привет" это строка, содержащая последовательность символов 'h' , 'е' , 'l' , 'l' и 'o' .
Мы используем двойные кавычки для представления строки в Java. Например,
08
Здесь мы создали строковую переменную с именем type. . Переменная инициализируется строкой 04
.
Пример:создание строки в Java
18
В приведенном выше примере мы создали три строки с именами first. , секунда и третье . Здесь мы напрямую создаем строки, подобные примитивным типам.
Однако есть и другой способ создания строк Java (используя 14
ключевое слово). Мы узнаем об этом позже в этом руководстве.
Примечание :строки в Java не являются примитивными типами (например, 29
). , 37
, так далее). Вместо этого все строки являются объектами предопределенного класса с именем 47
. .
И все строковые переменные являются экземплярами 55
класс.
Операции со строками в Java
Java String предоставляет различные методы для выполнения различных операций со строками. Мы рассмотрим некоторые часто используемые строковые операции.
1. Получить длину строки
Чтобы найти длину строки, мы используем 69
метод строки. Например,
25
Вывод
39
В приведенном выше примере 78
Метод вычисляет общее количество символов в строке и возвращает его. Чтобы узнать больше, посетите страницу Java String length().
2. Соединить две строки Java
Мы можем соединить две строки в Java, используя 83
метод. Например,
47
Вывод
56
В приведенном выше примере мы создали две строки с именами first. и секунда . Обратите внимание на заявление,
68
Здесь 97
метод присоединяется к второму строка к первой строку и присваивает ее joinedString переменная.
Мы также можем соединить две строки, используя 102
оператор в Java. Чтобы узнать больше, посетите страницу Java String concat().
3. Сравните две строки
В Java мы можем сравнивать две строки, используя 113
метод. Например,
70
Вывод
87
В приведенном выше примере мы создали 3 строки с именами first. , секунда и третье . Здесь мы используем 122
метод для проверки, равна ли одна строка другой.
134
Метод проверяет содержимое строк при их сравнении. Чтобы узнать больше, посетите страницу Java String equals().
Примечание :мы также можем сравнить две строки, используя 145
оператор в Java. Однако этот подход отличается от 158
метод. Чтобы узнать больше, посетите страницу Java String ==vs equals().
Escape-символ в строках Java
Экранирующий символ используется для экранирования некоторых символов внутри строки.
Предположим, нам нужно включить двойные кавычки внутри строки.
97
Поскольку строки представлены двойными кавычками , компилятор будет интерпретировать "Это " как струна. Следовательно, приведенный выше код вызовет ошибку.
Чтобы решить эту проблему, мы используем escape-символ 162
. в Яве. Например,
105пре>
Теперь escape-символы указывают компилятору экранировать двойные кавычки. и прочитайте весь текст.
<час>Строки Java неизменяемы
В Java строки неизменяемы. . Это означает, что после создания строки мы не можем ее изменить.
Чтобы понять это глубже, рассмотрим пример:
112Здесь мы создали строковую переменную с именем example. . Переменная содержит строку "Привет!" .
Теперь предположим, что мы хотим изменить строку.
127Здесь мы используем
172
метод для добавления другой строки World к предыдущей строке.Похоже, мы можем изменить значение предыдущей строки. Однако это не
184
.Давайте посмотрим, что здесь произошло,
<час>
- JVM принимает первую строку "Hello!"
- создает новую строку, добавляя "World" к первой строке
- назначить новую строку "Hello! World" к примеру переменная
- первая строка "Привет!" остается без изменений
Создание строк с использованием нового ключевого слова
До сих пор мы создавали строки наподобие примитивных типов в Java.
Поскольку строки в Java являются объектами, мы можем создавать строки с помощью
196
также ключевое слово. Например,131В приведенном выше примере мы создали строку name. используя
205
ключевое слово.Здесь, когда мы создаем строковый объект,
211
вызывается конструктор. Чтобы узнать больше о конструкторе, посетите Java Constructor.Примечание :
<час>224
class предоставляет различные другие конструкторы для создания строк. Чтобы узнать больше, посетите страницу Java String (официальная документация по Java).Пример:создание строк Java с использованием нового ключевого слова
144<час>Создать строку, используя литералы и новое ключевое слово
Теперь, когда мы знаем, как создаются строки с помощью строковых литералов и
237
ключевое слово, давайте посмотрим, в чем основная разница между ними.В Java JVM поддерживает пул строк. хранить все свои строки в памяти. Пул строк помогает повторно использовать строки.
1. При создании строк с использованием строковых литералов
157Здесь мы напрямую указываем значение строки (
241
). Следовательно, компилятор сначала проверяет пул строк, чтобы убедиться, что строка уже существует.
- Если строка уже существует , новая строка не создается. Вместо этого новая ссылка, example указывает на уже существующую строку (
255
). - Если строка не существует , новая строка (
264
создан.
2. При создании строк с использованием нового ключевого слова
163
Здесь значение строки не указывается напрямую. Следовательно, новый 272
создается строка, несмотря на то, что 288
уже присутствует в пуле памяти.
Строковые методы Java
Помимо упомянутых выше, в Java присутствуют различные строковые методы. Вот некоторые из этих методов:
Методы | Описание |
---|---|
содержит() | проверяет, содержит ли строка подстроку |
подстрока() | возвращает подстроку строки |
присоединиться() | объединить заданные строки с помощью разделителя |
заменить() | заменяет указанный старый символ указанным новым символом |
заменитьВсе() | заменяет все подстроки, соответствующие шаблону регулярного выражения |
replaceFirst() | заменить первую совпадающую подстроку |
charAt() | возвращает символ, находящийся в указанном месте |
getBytes() | преобразует строку в массив байтов |
indexOf() | возвращает позицию указанного символа в строке |
сравнить() | сравнивает две строки в порядке словаря |
compareToIgnoreCase() | сравнивает две строки без учета регистра |
обрезать() | удаляет все начальные и конечные пробелы |
формат() | возвращает отформатированную строку |
разделить() | разбивает строку на массив строк |
toLowerCase() | преобразует строку в нижний регистр |
toUpperCase() | преобразует строку в верхний регистр |
значение() | возвращает строковое представление указанного аргумента |
toCharArray() | преобразует строку в 299 массив |
соответствует() | проверяет, соответствует ли строка заданному регулярному выражению |
начинается с() | проверяет, начинается ли строка с заданной строки |
заканчивается() | проверяет, заканчивается ли строка заданной строкой |
пусто() | проверяет, пуста ли строка или нет |
интерн() | возвращает каноническое представление строки |
contentEquals() | проверяет, равна ли строка charSequence |
хэш-код() | возвращает хеш-код для строки |
подпоследовательность() | возвращает подпоследовательность из строки |
java