Как перевернуть строку

Как перевернуть строку[Как перевернуть строку]

В этой статье мы рассмотрим несколько способов, как перевернуть (инвертировать) строку.

Инвертируем строку с помощью StringBuilder

Самый простой способ, который не требует никаких дополнительных библиотек – это использовать стандартный StringBuilder:

StringBuilder sb = new StringBuilder("Привет, мир 1");
System.out.println(sb.reverse());

Результат инвертирования строки:

1 рим ,тевирП

Переворачиваем строку с помощью библиотеки StringUtils

Если в вашем проекте уже подключена библиотека StringUtils, будет удобно воспользоваться именно ею. Если вы не подключили библиотеку, это можно сделать с помощью подключения зависимости в файле pom.xml:

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.9</version>
</dependency>

Теперь, для того, чтобы вывести строку в обратном порядке, воспользуемся методом StringUtils.reverse:

 String s = "Привет, мир 2";
 System.out.println(StringUtils.reverse(s));

Результат:

2 рим ,тевирП

Кстати, в этом же классе есть метод StringUtils.reverseDelimited, который инвертирует строку не посимвольно, а по слова. Ему требуется указать на вход строку и разделитель между словами:

String s = "Привет, мир 2";
System.out.println(StringUtils.reverseDelimited(s, ' '));

Результат:

2 мир Привет,

Инвертируем строку с помощью массива char[]

Приведённые выша два способа инвертирования строки являются наиболее простыми, читаемыми и удобными. Но на всякий случай приведём ещё один способ с помощью массива char:

String s = "Привет, мир 3";

char[] result = s.toCharArray();

int startIndex = 0;
int endIndex = result.length - 1;
char temp;

for (; endIndex > startIndex; startIndex++, endIndex--) {
    temp = result[startIndex];
    result[startIndex] = result[endIndex];
    result[endIndex] = temp;
}

System.out.println(result);

Здесь мы сначала преобразуем входную строку в массив символов, затем последовательно меняем символы местами, используя промежуточную переменную temp. Результат выполнения такой программы:

3 рим ,тевирП

Этот способ является более громоздким и менее удобным, поэтому рекомендуем вам использовать именно первые два способа. Тем не менее, этот вопрос может встречаться на собеседовании на позицию Junior Java Developer

Заключение

Существует множество способов инвертировать строку в Java. В данной статье мы показали наиболее удобные из них.

Как перевернуть строку

Комментарии 1

  • Егор Левченко
    Автор: Егор Левченко Добавлено 8 марта, 2026 в 11:45

    Когда требуется инвертировать строку, важно выбрать подходящий способ в зависимости от конкретной задачи. Использование StringBuilder позволяет легко и эффективно перевернуть строку без необходимости подключения дополнительных библиотек. Однако, при наличии библиотеки StringUtils, можно воспользоваться её методами, такими как reverse и reverseDelimited, для более гибкой обработки строк, включая инвертирование по словам. Вместе с простыми и читаемыми способами инвертирования строки, использование массива char также представляет собой эффективный метод выполнения данной операции.