<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 120,  comments - 19,  trackbacks - 0

    這是好友面試的一道題,其實我知道使用的區別,StringBuffer必須new出來,StringBuffer的append的效率比string的+=的效率高,
    其實發現還有很大的區別,看了看以前scjp的考題
    public class Test {
    ?? public static void stringReplace (String text) {
    ?? text = text.replace('j' , 'i');
    ?? }
    ??
    ?? public static void bufferReplace (StringBuffer text) {
    ?? text = text.append("C");
    ?? }
    ??
    ??? public static void main (String args[]) {
    ??? String textString = new String ("java");
    ??? StringBuffer textBuffer = new StringBuffer ("java");
    ???
    ??? stringReplace (textString);
    ??? bufferReplace (textBuffer);
    ???
    ??? System.out.println (textString + textBuffer);
    ??? }
    ??? }
    答案是 javajavaC
    這是Java參數傳遞(by value)造成的,是不可變的(immutable).,例如 基本類型,String傳值,復制了值傳遞過去;可變的(Object)傳值,復制了引用傳遞過去。

    而題目中第七行text = text.append (“C”),append方法會改變text中的值
    而這個text與main中的textBuffer是指向同一個對象,所以對應的輸出是javac。
    string的值永遠不會改變!


    String a = "a";//假設a指向地址0x0001,
    a = "b";//重新負值后a指向地址0x0002,但0x0001地址中保存的"a"依舊存在,但已經不再是a所指向的。
    從表面上看String類型的對象改變了值,但事實是他不能改變值,只能改變指向的地址


    StringBuffer則不同,直接改變指向的地址中保留的值
    還有
    StringBuffer s1 = new StringBuffer("a");
    StringBuffer s2 = new StringBuffer("a");
    s1.equals(s2)//為什么是false

    String s1 = new String("a");
    String s2 = new String("a");
    s1.equals(s2)//為什么是true
    StringBuffer類中沒有重新定義equals這個方法,因此這個方法就來自Object類,
    而Object類中的equals方法是用來比較地址的,所以等于false.

    String類中重新定義了equals這個方法,而且比較的是值,而不是地址。所以會是
    true。
    對于這樣能不能面試出真正的水平,感到懷疑。



    posted on 2006-03-09 21:45 阿成 閱讀(294) 評論(0)  編輯  收藏 所屬分類: Java
    主站蜘蛛池模板: 男女一边摸一边做爽的免费视频| 看免费毛片天天看| 中文字幕视频在线免费观看| 亚洲AV成人精品日韩一区18p| 色天使色婷婷在线影院亚洲| 永久黄网站色视频免费| 亚洲色大成网站www尤物| 最近中文字幕免费mv视频8| 亚洲精品国产国语| 国产精品四虎在线观看免费 | 亚洲国产精品久久66| 久久久久久国产精品免费免费男同| 亚洲va中文字幕无码久久不卡| 午夜老司机永久免费看片| 亚洲综合久久成人69| 青苹果乐园免费高清在线| 亚洲AV电影天堂男人的天堂| 无码欧精品亚洲日韩一区夜夜嗨| 亚洲黄片手机免费观看| 亚洲Av永久无码精品三区在线| 日本高清在线免费| 亚洲欧美成aⅴ人在线观看| 国产免费观看a大片的网站| h视频在线免费观看| 亚洲最大成人网色| 好大好硬好爽免费视频| 免费夜色污私人影院网站| 日本亚洲欧洲免费天堂午夜看片女人员| 国产精品免费观看调教网| 亚洲看片无码在线视频| 亚洲国产精品综合久久一线| 国产午夜成人免费看片无遮挡| 亚洲13又紧又嫩又水多| 无码专区一va亚洲v专区在线| 日韩视频免费在线观看| 亚洲精品无码久久久久A片苍井空| 亚洲精品无码av天堂| 曰批视频免费40分钟试看天天| 亚洲AV无码一区二区三区电影| 亚洲免费人成在线视频观看| 岛国av无码免费无禁网站|