String 对象 与 StringBuilder 对象的比较.....

来源:互联网 发布:同步看电视的软件 编辑:程序博客网 时间:2024/05/16 14:10

一、使用String对象实现输出一首回文诗:

public class StringExample {

        public static void main(String[] args) {

                String palindrome = "香莲碧水动风凉 水动风凉夏日长";

                int len = palindrome.length();                                              //获得字符串对象的长度

                char[] tempCharArray = new char[len];                               //创建字符数组

                char[] charArray = new char[len];                                         //创建字符数组

                //将原始字符串中的字符放到字符数组中

                for (int i = 0; i < len; i++) {

                         tempCharArray[i] = palindrome.charAt(i);

                 }                         

                //反转字符数组中的字符

                for (int j = 0; j < len; j++) {

                        charArray[j] = tempCharArray[len - 1 - j];

                 }

               String reversedPalindrome = new String(charArray);           //使用反转后的字符数组创建新的字符串

               System.out.println(palindrome);

               System.out.println(reversedPalindrome);

}

编译并运行上述程序,输出结果如下所示:

      香莲碧水动风凉  水动风凉夏日长

      长日夏凉风动水  凉风动水碧莲香

这是明末浙江才女吴绛雪《四时山水诗》中的夏景诗。在上例中,要完成字符串的翻转,程序将字符串转换到一个字符数组(第一个for循环),反转次序将字符复制到另一个数组中(第二个for循环),然后再重新生成新的字符串,并输出。

二、使用StringBuilder对象实现输出一首回文诗:

public class StringBuilderExample {

         public static void main(String[] args) {

                  String palindrome = "香莲碧水动风凉 水动风凉夏日长";

                  StringBuilder sb = new StringBuilder(palindrome);                                       //创建StringBuilder对象

                  sb.reverse();                                                                                                          //翻转字符串

                  System.out.println(palindrome);                                                                       //输出原来的字符串内容

                  System.out.println(sb);                                                                                        //输出翻转以后的字符串内容

         }

}

在程序StringBuilderExample中,将文字顺序的颠倒,改为使用StringBuilder对象的reverse()方法来实现。可以看出,这样处理的方式很简单,使程序更加简洁。


0 0