`

JAVA中的字符串反转(转载)

阅读更多
操作字符串,是JAVA中的一项常用的而且也是一种基本的能力。对于反转字符串这一看似简单的操作,里面体现了好多的字符串的应用,下面结合自己的想法与网上的方法,总结反转字符串基本上有以下一些方法。以方法表现的性能从高到底列出:

第一种方法:

public static String getRevString(String str){

        String a = str;

        char[] c = a.toCharArray();

        int i=a.length();

        i--;

        char temp;

        for (int count=0;count<i;count++,i-- )

        {

        temp=c[count];

           c[count]=c[i];

           c[i]=temp;

        }

        return new String(c,0,a.length());

     }

第二种方法:

public static String getRevString(String str){

         StringBuffer sb = new StringBuffer(str);

         String  returnStr = sb.reverse().toString();

         return returnStr;

}

第三种方法:

public static String getRevString(String str){

        char[] temp = str.toCharArray();

        int length = temp.length;

        char[] recive = new char[length];

        for(int i=length;i>0;i--){

            recive[length-i] =  temp[i-1];

        }

        String temp2 = new String(recive);

        return temp2;

}

第四种方法:

public static String getRevString(String s){

        StringBuffer sb = new StringBuffer();

         for ( int i = s.length() - 1; i >= 0; i--) {

  

           sb .append(s.charAt(i));

        }

        return sb.toString();

      }

最后一种方法是用递归的方法实现的:

其方法体如下:

public static String getRevString(String strTest){

        if(strTest.length() == 1)

        return strTest;



        String strResult = strTest.substring(strTest.length() -1,strTest.length());

        strResult += getRevString (strTest.substring(0,strTest.length() -1));

        return strResult;

     }

这种递归的方法当要反转的字符串少时,不会出现错误,但当要反转的字转串比较多时,这种方法就会报堆栈溢出错误,还没搞清是怎么回事.这种方法的性能也不是太好.
转载自:http://wusaihe.blog.163.com/blog/static/7239597120104129531235/
分享到:
评论
2 楼 liubey 2010-07-06  
public static String revString2(String str) {
		char[] temp = str.toCharArray();
		int length = temp.length;
		char[] rev = new char[length];
		
		for(int i=0;i<length;i++) {
			rev[i] = temp[length-i-1];
		}
		return new String(rev);
	}
1 楼 liubey 2010-07-06  
不错,第二种最简单,但是估计也是最不出彩的一种,第三种不错

相关推荐

    96.java字符串反转案例.zip

    96.java字符串反转案例.zip96.java字符串反转案例.zip96.java字符串反转案例.zip96.java字符串反转案例.zip96.java字符串反转案例.zip96.java字符串反转案例.zip96.java字符串反转案例.zip96.java字符串反转案例.zip...

    将输入的字符串反转 java

    本文将深入探讨如何在Java中实现字符串反转,并提供一个具体的示例来解释这一过程。 首先,我们要理解Java中的字符串是不可变对象,这意味着一旦创建了字符串对象,就不能更改它的值。因此,反转字符串通常涉及创建...

    java 字符串反转

    在本篇中,我们将深入探讨如何在Java中实现字符串反转,特别是在处理多个字符串时。 首先,让我们从基本的字符串反转方法开始。Java提供了`StringBuilder`或`StringBuffer`类,它们是可变的字符序列,非常适合进行...

    《编程珠玑》中的最优性能效率最高字符串反转算法

    优化方面,由于字符串在Java中是不可变的,上述代码中的`new String(s)`会导致新的字符串对象被创建。如果希望原地修改字符串对象,可以使用StringBuilder或StringBuffer类,这些类提供了reverse()方法,可以直接对...

    java 字符串中文判断

    在Java编程语言中,处理字符串是非常常见的操作,尤其是在涉及到文本分析和处理的场景。本文将深入探讨如何在Java中进行中文...在Java中处理字符串,特别是涉及到特殊字符集如中文时,对字符编码的理解是必不可少的。

    Java检索字符串中是否存在某字符

    在Java编程语言中,字符串处理是一项基础且重要的任务。标题提到的"Java检索字符串中是否存在某字符",实际上涉及到字符串的查找算法。这里主要讨论的是KMP(Knuth-Morris-Pratt)算法,这是一种高效的字符串匹配...

    Java 中的字符串反转.docx

    在 Java 编程中,字符串反转是一个常见的操作,特别是在处理文本数据时。本文将深入探讨在 Java 中如何反转字符串,并提供几种不同的实现方法。首先,我们需要了解 Java 中字符串的特性。 1. **字符串不可变性**:...

    java 字符串转16进制 16进制转字符串 将两个ASCII字符合成一个字节;

    java 字符串转16进制 16进制转字符串 将两个ASCII字符合成一个字节; java 字符串转16进制 16进制转字符串 将两个ASCII字符合成一个字节; java 字符串转16进制 16进制转字符串 将两个ASCII字符合成一个字节; java ...

    java 字符串工具类 java 字符串工具类

    java 字符串工具类 java 字符串工具类java 字符串工具类 java 字符串工具类java 字符串工具类 java 字符串工具类java 字符串工具类 java 字符串工具类java 字符串工具类 java 字符串工具类java 字符串工具类 java ...

    java判断字符串是否是json或json数组.txt

    java判断字符串是否是json或json数组; 简单小方法,很实用;简单实用的方法;亲测可用;嗯嗯嗯呃呃呃呃呃呃呃

    java中字符串的操作汇总

    ### Java中字符串的操作汇总 在Java编程语言中,字符串(`String`)是极其重要的一个概念,被广泛应用于各种场景之中。为了更好地理解和运用Java语言,掌握字符串的各种操作方法至关重要。下面将详细介绍Java中字符...

    java 创建字符串类

    - **不可变性**:Java中的`String`对象是不可变的,这意味着一旦创建了`String`对象,就不能更改它的值。这是因为字符串被存储在常量池中,修改字符串会生成新的`String`对象。 - **构造方法**:可以通过传递字符...

    java验证字符串是否符合json格式

    在Java中,我们可以利用现有的库如Jackson、Gson或org.json等来实现JSON字符串的验证。这里以`org.json`库为例,给出一个简单的验证示例: ```java import org.json.JSONObject; import org.json.JSONTokener; ...

    JAVA日期与字符串的转换

    ### JAVA日期与字符串的转换 在Java编程中,经常需要将日期对象转化为字符串形式以便于存储或显示,或者反过来将字符串转化成日期...通过以上内容的学习,相信读者已经掌握了Java中日期与字符串相互转换的核心技巧。

    java 文本字符串替换工具

    让我们详细了解一下如何在Java中实现这样的功能,以及如何通过批处理脚本(bat和sh)进行调用。 首先,要实现文本文件中的字符串替换,我们需要读取文件内容,然后使用Java的字符串方法进行替换,最后将更新的内容...

    java字符串处理取出括号内的字符串

    首先,我们要明白Java中的字符串是`String`类的对象,它提供了丰富的API用于字符串的处理。例如,我们可以使用`substring()`方法来截取字符串的一部分,但这并不适用于提取括号内的内容,因为我们需要识别开括号和闭...

    95.java拼接字符串案例.zip

    95.java拼接字符串案例.zip95.java拼接字符串案例.zip95.java拼接字符串案例.zip95.java拼接字符串案例.zip95.java拼接字符串案例.zip95.java拼接字符串案例.zip95.java拼接字符串案例.zip95.java拼接字符串案例.zip...

    面试题今天(字符串反转)

    根据提供的文件信息,我们可以从中提炼出与字符串反转相关的知识点,具体包括以下方面: ...通过这些方法的学习,我们可以更好地理解和掌握字符串反转的多种实现方式,并能够在实际开发中灵活运用。

    Java中的字符串相关处理

    ### Java中的字符串相关处理 #### 引言 在Java编程语言中,字符串处理是一个核心且广泛使用的领域。不同于其他编程语言将字符串视为字符数组,Java将字符串视为`String`类型对象,这一设计使得字符串处理更加高效...

Global site tag (gtag.js) - Google Analytics