反转字符串

    添加时间:2013-7-25 点击量:
    //-----------------------
    
    String a = "abcde"
    ;
    char[] b =
    a.toCharArray();
    char
    temp;
    forint i=0;i<b.length/2;i++
    ) {
    temp
    =
    b[i];
    b[i]
    = b[b.length-i-1
    ];
    b[b.length
    -i-1] =
    temp;
    }
    a
    = new
    String(b);
    System.out.print(a);

    //----------
    String str = "abcd "
    ;
    String result
    = new
    StringBuffer(str).reverse().toString();


    //-----------------------
    String str = "chentao"
    ;
    System.out.print(
    "逆转后的字符串是:["
    );
    forint i=str.length()-1;i>=0;i--
    ) {
    char chr =
    str.charAt(i);
    System.out.print (chr);
    }
    System.out.print(
    "]");




    String是线程安然的吗?网上搜到的内容仅仅告诉你StringBuffer是线程安然的,而StringBuilder(插入删除用的多,看看API就知道了)不是。那为什么不说String呢,因为没啥好说的,人家是final的千年不变,就是不会改变的,那天然没有同步题目了。记住士兵哥说的就行了,String是不成变序列,拼接和删除都是拷贝到了新内存,而StringBuffer是保护了个缓冲区……



    看下面例子:




    class Go{
    
    public static void
    main(String args[]){
    String str1
    = "abc"
    ;
    String str2
    =
    str1;
    str1
    += "de"
    ;
    System.out.println(str2);

    StringBuffer sb1
    = new
    StringBuffer();
    sb1.append(
    "abc"
    );
    StringBuffer sb2
    =
    sb1;
    sb1.append(
    "de"
    );
    System.out.println(sb2);
    }
    }



    System.out.println(str2)输出的是abc。



    System.out.println(sb2)输出的是abcde。



    不申明……




    我所有的自负皆来自我的自卑,所有的英雄气概都来自于我的软弱。嘴里振振有词是因为心里满是怀疑,深情是因为痛恨自己无情。这世界没有一件事情是虚空而生的,站在光里,背后就会有阴影,这深夜里一片寂静,是因为你还没有听见声音。—— 马良《坦白书》
    分享到: