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

объектно-ориентированного программирования Java Программирование и разработка

Перевернуть строку означает иметь строку в обратном порядке. Например, строку «abcde» можно заменить на «edcba», а «pool» — на «loop». В качестве другого примера, строку «abc def ghi» можно заменить на «ihg fed cba».

Строковый литерал объекта для класса String является константой. Это означает, что ни один из его символов не может быть изменен или перемещен. К счастью, в Java есть два других строковых класса, которые называются StringBuffer и StringBuilder. Каждый из этих двух классов имеет метод reverse() для обращения строки.

Таким образом, чтобы инвертировать строку, преобразуйте объект String в объект StringBuffer или StringBuilder. Используйте метод reverse() любого из этих классов, чтобы перевернуть строку. Затем преобразуйте результат обратно в строковый объект.

Чтобы преобразовать объект String в объект StringBuffer, используйте объект строки в конструкторе StringBuffer. Чтобы преобразовать объект StringBuffer обратно в объект String, используйте объект StringBuffer в конструкторе String.

Чтобы преобразовать объект String в объект StringBuilder, используйте объект строки в конструкторе StringBuilder. Чтобы преобразовать объект StringBuilder обратно в объект String, используйте объект StringBuilder в конструкторе String.

Конструкции String и StringBuffer

Строка в StringBuffer

Синтаксис для создания объекта StringBuffer из объекта String:

StringBuffer sb = new StringBuffer(String str);

где sb — объект StringBuffer. Следующая программа иллюстрирует это:

    public class TheClass {
public static void main(String[] args) {
String str = «Higher Level»;
StringBuffer sb = new StringBuffer(str);
System.out.println(sb);
}
}

Результат:

Higher Level

Обратите внимание, что программе не нужно было импортировать класс StringBuffer.

StringBuffer в строку

Синтаксис для создания объекта String из объекта StringBuffer:

String str = new String(StringBuffer sb);

где str — строковый объект. Следующая программа иллюстрирует это:

    public class TheClass {
public static void main(String[] args) {
StringBuffer sb = new StringBuffer(«Higher Level»);
String str = new String(sb);
System.out.println(str);
}
}

Результат:

Higher Level

Конструкции String и StringBuilder

Строка в StringBuilder

Синтаксис для создания объекта StringBuilder из объекта String:

StringBuilder sbl = new StringBuilder(String str);

где sbl — объект StringBuilder. Следующая программа иллюстрирует это:

    public class TheClass {
public static void main(String[] args) {
String str = «Higher Level»;
StringBuilder sbl = new StringBuilder(str);
System.out.println(sbl);
}
}

Результат:

Higher Level

Обратите внимание, что программе не нужно было импортировать класс StringBuilder.

StringBuilder в строку

Синтаксис для создания объекта String из объекта StringBuilder:

String str = new String(StringBuilder sbl);

где str — строковый объект. Следующая программа иллюстрирует это:

    public class TheClass {
public static void main(String[] args) {
StringBuilder sbl = new StringBuilder(«Higher Level»);
String str = new String(sbl);
System.out.println(str);
}
}

Результат:

Higher Level

Реверсирование с помощью StringBuffer

Процедура обращения строки с помощью StringBuffer выглядит следующим образом:

StringBuffer sb = new StringBuffer(String str)

StringBuffersbr = sb.reverse()

String strr  = new String(StringBuffersbr);

Следующая программа иллюстрирует это:

    public class TheClass {
public static void main(String[] args) {
String str = «Higher Level»;
StringBuffer sb = new StringBuffer(str);
StringBuffersbr = sb.reverse();
String strr  = new String(sbr);
System.out.println(strr);
}
}

Результат:

leveL rehgiH

Реверсирование с помощью StringBuilder

Процедура обращения строки с помощью StringBuilder выглядит следующим образом:

            StringBuilder sbl = new StringBuilder(String str)

StringBuilder  sblr = sbl.reverse()

String strr  = new String( StringBuilder sblr);

Следующая программа иллюстрирует это:

    public class TheClass {
public static void main(String[] args) {
String str = «Higher Level»;
StringBuilder sbl = new StringBuilder(str);
StringBuilder  sblr = sbl.reverse();
String strr  = new String(sblr);
System.out.println(strr);
}
}

Результат:

leveL rehgiH

StringBuffer и StringBuilder

StringBuilder — это упрощенная форма StringBuffer. Если StringBuffer используется с несколькими потоками, будет хорошая синхронизация. StringBuilder не обеспечивает хорошей синхронизации с несколькими потоками. StringBuilder следует использовать только с однопоточными программами.

Основными методами для StringBuilder и StringBuffer являются методы append() и insert(). С помощью этих методов их строковые литералы могут быть увеличены в длину, а также изменены. Эти объекты не могут иметь нулевое значение в качестве одного из своих символов.

Реверсирование со строкой и массивом

Строковое значение (символы, формирующие строковый литерал) для объекта String является постоянным. Персонажей, конечно, можно прочитать. Последовательность символов доступна только для чтения. Если символы считываются в обратном направлении в массив, а массив преобразуется в строковый объект класса строк, это будет реверсированием строки.

Используя эту процедуру, размер строки должен быть определен с помощью следующего оператора:

len = str.length();

где length() — это метод класса строки, возвращающий длину строки. Чтобы сделать массив символов из строки, используйте следующую конструкцию строки:

String strR = new String(char[])

Следующая программа использует эту процедуру для обращения строки в Java:

    public class TheClass {
public static void main(String[] args) {
String str = «Higher Level»;
int len = str.length();
char[] arr = new char[len];

for (int i=len; i>0; i)
arr[leni] = str.charAt(i1);

String strR = new String(arr);
System.out.println(strR);
}
}

Результат:

leveL rehgiH

Так же, как раньше. Обратите внимание на использование метода charAt() для получения символа по индексу строкового объекта.

Заключение

Строковый литерал объекта для класса String является константой. Это означает, что ни один из его символов не может быть изменен или перемещен. К счастью, в Java есть два других строковых класса, которые называются StringBuffer и StringBuilder. Каждый из этих двух классов имеет метод reverse() для обращения строки.

Таким образом, чтобы инвертировать строку, преобразуйте объект String в объект StringBuffer или StringBuilder. Используйте метод reverse() любого из этих классов, чтобы перевернуть строку. Затем преобразуйте результат обратно в строковый объект.

Чтобы преобразовать объект String в объект StringBuffer, используйте объект строки в конструкторе StringBuffer. Чтобы преобразовать объект StringBuffer обратно в объект String, используйте объект StringBuffer в конструкторе String.

Чтобы преобразовать объект String в объект StringBuilder, используйте объект строки в конструкторе StringBuilder. Чтобы преобразовать объект StringBuilder обратно в объект String, используйте объект StringBuilder в конструкторе String.

Читайте также:  Операция CRUD в Python с использованием MySQL
Оцените статью
bestprogrammer.ru
Добавить комментарий