📅  最后修改于: 2020-03-27 10:48:39             🧑  作者: Mango
本文通过示例讨论了5种不同的Java反向字符串方法。
例子:
先决条件:Java中的String vs StringBuilder vs StringBuffer
以下是有关String和StringBuffer类的一些有趣事实:
1. String对象是不可变的。
2. Java中的字符串类没有reverse()方法,但是StringBuilder类已经内置了reverse()方法。
3. StringBuilder类没有toCharArray()方法,而String类有toCharArray()方法。
// Java展示使用ByteArray反转字符串
import java.lang.*;
import java.io.*;
import java.util.*;
// ReverseString类
class ReverseString
{
public static void main(String[] args)
{
String input = "GeeksforGeeks";
// getBytes()把string
// 转换成bytes[].
byte [] strAsByteArray = input.getBytes();
byte [] result =
new byte [strAsByteArray.length];
// 把结果储蓄在byte[]
for (int i = 0; i
输出:
skeeGrofskeeG
// Java使用StringBuilder反转字符串
import java.lang.*;
import java.io.*;
import java.util.*;
// ReverseString类
class ReverseString
{
public static void main(String[] args)
{
String input = "Geeks for Geeks";
StringBuilder input1 = new StringBuilder();
// 把StringBuilder增加到input1
input1.append(input);
// 反转StringBuilder的input1
input1 = input1.reverse();
// 打印反转的String
System.out.println(input1);
}
}
输出:
skeeG rof skeeG
// Java展示反转字符串
import java.lang.*;
import java.io.*;
import java.util.*;
// ReverseString类
class ReverseString
{
public static void main(String[] args)
{
String input = "GeeksForGeeks";
// 使用toCharArray,把字符串转换成array
char[] try1 = input.toCharArray();
for (int i = try1.length-1; i>=0; i--)
System.out.print(try1[i]);
}
}
输出:
skeeGrofskeeG
// Java 展示反转字符串
import java.lang.*;
import java.io.*;
import java.util.*;
// ReverseString类
class ReverseString
{
public static void main(String[] args)
{
String input = "Geeks For Geeks";
char[] temparray = input.toCharArray();
int left, right=0;
right = temparray.length-1;
for (left=0; left < right ; left++ ,right--)
{
// 交换左右两个值
char temp = temparray[left];
temparray[left] = temparray[right];
temparray[right]=temp;
}
for (char c : temparray)
System.out.print(c);
System.out.println();
}
}
输出:
skeeG roF skeeG
// Java使用ListIterator反转字符串
import java.lang.*;
import java.io.*;
import java.util.*;
// ReverseString类
class ReverseString
{
public static void main(String[] args)
{
String input = "Geeks For Geeks";
char[] hello = input.toCharArray();
List trial1 = new ArrayList<>();
for (char c: hello)
trial1.add(c);
Collections.reverse(trial1);
ListIterator li = trial1.listIterator();
while (li.hasNext())
System.out.print(li.next());
}
}
输出:
skeeG roF skeeG