Типы строк в Java
Last updated: 4 мая 2025 г.Для хранения строки мы знаем тип String
. Но он не всегда бывает эффективен.
Поэтому есть еще другие классы для хранения строк и взаимодействия с ними, которые нужно знать.
Поясним на примере:
1public class StringTypes {
2 public static void main(String[] args) {
3 // Создадим String переменную
4 String output = "Some text";
5 // и добавим в конец этой строки единицу и пробел сто раз.
6 int count = 100;
7 for(int i = 0; i < count; i++) {
8 output += i + " "; // При каждой итерации цикла
9 // создается НОВЫЙ объект String с очередным добавленным i.
10 // Просто представьте, как это плохо скажется на памяти
11 }
12 System.out.println(output);
13 }
14}
Вывод:

Поэтому существует StringBuffer
, который решает эту проблему.
1public class StringTypes {
2 public static void main(String[] args) {
3 int count = 100;
4 // Поэтому существует StringBuffer, который решает эту проблему
5 StringBuffer output = new StringBuffer(110);
6 // append – добавить в объект StringBuffer текст
7 output.append("Some text");
8 for(int i = 0; i < count; i++) {
9 output.append(i + " "); // Теперь при каждой итерации
10 // работаем всего с одним экземпляром StringBuffer
11 // Профит!
12 }
13 System.out.println(output.toString());
14 }
15}
Вывод:

Также есть StringBuilder – то же самое, что и StringBuffer только потокоНЕбезопасен, поэтому работает быстрее
Следующие уроки
Классы обертки
7
мин.
Ключевое слово Assert
5
мин.
Default методы в интерфейсах
6
мин.