Основы StringBuilder
Часть раздела Логика и управление потоком путешествия по Java на Coddy — урок 44 из 59.
StringBuilder используется для создания изменяемых (модифицируемых) строк. Он более эффективен, чем обычная конкатенация строк String, когда требуется модифицировать строки несколько раз.
Создайте StringBuilder с начальным текстом:
StringBuilder sb = new StringBuilder("Hello");Добавьте больше текста с помощью append():
sb.append(" World");После выполнения приведенного выше кода sb содержит:
Hello World
Давайте используем insert() для добавления текста в определённую позицию:
StringBuilder sb = new StringBuilder("Java");
sb.append(" is"); // adds at end
sb.insert(0, "Hey "); // adds at position 0 (start)После выполнения приведенного выше кода, sb содержит:
Hey Java is
Преобразование StringBuilder в String:
Когда вам нужно вернуть или сохранить результат как String, используйте toString():
StringBuilder sb = new StringBuilder("Hello");
sb.append(" World");
String result = sb.toString(); // Converts to String
System.out.println(result); // Prints: Hello WorldПочему использовать toString()? Методы, возвращающие тип String, не могут возвращать StringBuilder напрямую — сначала нужно преобразовать его с помощью toString().
Задание
ЛегкоСоздайте метод с именем buildPhrase, который принимает три аргумента:
- Строка (
start) для начала фразы - Строка (
middle) для средней части - Строка (
end) для окончания
Метод должен:
- Создать StringBuilder со строкой start
- Добавить пробел и строку middle
- Добавить пробел и строку end
- Добавить восклицательный знак в конец
- Вернуть итоговую строку
Возвращаемые значения должны быть:
- Если любой входной параметр равен null: вернуть "Invalid input"
- При успешной операции: вернуть построенную фразу
Шпаргалка
StringBuilder используется для создания изменяемых строк, более эффективен, чем конкатенация строк String при множественных модификациях.
Создайте StringBuilder с начальным текстом:
StringBuilder sb = new StringBuilder("Hello");Добавьте текст в конец с помощью append():
sb.append(" World");Вставьте текст в конкретную позицию с помощью insert():
sb.insert(0, "Hey "); // добавляет в позицию 0 (начало)Преобразуйте StringBuilder в String:
String result = sb.toString();Попробуйте сами
import java.util.Scanner;
public class Main {
public static String buildPhrase(String start, String middle, String end) {
// Напишите свой код здесь
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String start = scanner.nextLine();
String middle = scanner.nextLine();
String end = scanner.nextLine();
if (start.equals("null")) start = null;
if (middle.equals("null")) middle = null;
if (end.equals("null")) end = null;
System.out.println(buildPhrase(start, middle, end));
}
}В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Логика и управление потоком
1Многомерные массивы
Основы 2D-массивовДоступ к элементам 2D-массиваВложенные циклы с 2D-массивамиПовторение - 2D-массивыСложение и вычитание матрицРваные массивы3D-массивы и вышеРаспространённые паттерны 2D-массивовПовторение - всё о массивах2HashMap Часть 1
Что такое HashMap?Объявление HashMapДоступ к значениямПроверка существования ключаИзменение словарейИтоги - HashMap5HashSet Часть 2
Математика - Объединение HashSetsМатематика - Пересечение HashSetМатематика - Разность множествМатематика - Симметрическая разностьПодмножества и надмножестваИтерация по множествам8Продвинутые операции со строками
Основы StringBuilderВведение в StringBufferОсновы регулярных выраженийСопоставление шаблонов с RegexСтроковый токенизаторПродвинутое форматирование строк3HashMap. Часть 2
Методы HashMapИтерация с keySet()Итерация с entrySet()Вложенный HashMapПовторение - Управление складомПовторение - Операции HashMap6Продвинутое управление потоком
Операторы метокВыражение switchСопоставление шаблоновОхранные клаузыИтоги - управление потоком9Проект - Счетчик уникальных слов
Ввод и хранение текстаОбработка слов