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

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

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

    feng

    飄逸~~~~~life

    java中奇怪的null

    項目開發(fā)測試中發(fā)現(xiàn)一個問題,后來發(fā)現(xiàn)是null在作怪,看看這個程序
    public class Feng {
     public static void main(String[] args) {
      Feng feng=null;
      String f=null;
      String a=""+feng;
      String b=""+f;
      System.out.println(a);
      System.out.println(b);
      
      if(a.equals("null")){
       System.out.println("怎么回事");
      }
      if(b.equals("null")){
       System.out.println("怎么變出來的");
      }
     }

    }

    大家可以運行一下,結果是

    null
    null
    怎么回事
    怎么變出來的
    很奇怪吧? 也就是不管是一個普通對象的null還是一個String對象的null  ,如果進行""+null這樣的操作的話
    都變成了一個"null"字符串,大家記住吧,開發(fā)中考慮這個問題,省得實際項目出錯,知道為什么的,可以解釋一下,xiexie!

    posted on 2008-08-29 11:18 feng 閱讀(2627) 評論(8)  編輯  收藏

    Feedback

    # re: java中奇怪的null 2008-08-29 11:41 隔葉黃鶯

    普通對象的 null 還是 String 對象的 null,它們都是 null,都一樣的

    String a=""+feng; JVM 執(zhí)行的是 StringBuilder.append(Object)
    String b=""+f; JVM 執(zhí)行的是 StringBuilder.append(String)

    這時候你就要看這兩個方法的實例了:
    1. public StringBuilder append(Object obj) {
    return append(String.valueOf(obj));
    }

      而在 String.valueOf(Object) 中是
    return (obj == null) ? "null" : obj.toString();

    2. StringBuilder append(Object obj) { 中的實現(xiàn)是
    if (str == null) str = "null";

    看到這些夠明白了吧,也就不應該覺得奇怪。既然 JDK 有源碼,碰到問題細究一下就簡單了,光抓頭發(fā)是找不到答案的。

    另外是 StringBuffer 還是 StringBuilder 看你用的是什么 JDK 版本,JDK 1.4 是 StringBuffer,它們的差別類似于 HashMap 和 Hashtable 的差別。

      回復  更多評論   

    # re: java中奇怪的null 2008-08-29 11:48 feng

    樓上的給出解答了 謝謝 我平時其實從來不看源代碼,我很懶的   回復  更多評論   

    # re: java中奇怪的null[未登錄] 2008-08-29 14:33 Matthew

    好像初學的時候就知道了,不過現(xiàn)在回過頭來看這個類似操作符重載的功能,感覺太另類了。  回復  更多評論   

    # re: java中奇怪的null 2008-08-30 14:03 ci

    ..........  回復  更多評論   

    # re: java中奇怪的null 2008-09-01 10:22 塔塔

    看來看源碼還是非常重要的啊,我很少去看,好像沒那個習慣.  回復  更多評論   

    # re: java中奇怪的null 2008-10-22 16:18 blue_sky

    從來沒有看過源碼哎,看來還是不行啊啊。。  回復  更多評論   

    # re: java中奇怪的null 2009-02-03 01:41 wo654654

    tyhftghut jyh  回復  更多評論   

    # re: java中奇怪的null 2009-02-21 21:21 acssccc

    立刻的 咖啡堿內就風疹塊機   回復  更多評論   



    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導航:
     
    主站蜘蛛池模板: 人人爽人人爽人人片A免费 | 亚洲精品无码av天堂| 亚洲人成电影福利在线播放 | 中文字幕av免费专区| 亚洲国产一成久久精品国产成人综合| 亚洲va中文字幕| 青青草无码免费一二三区| 久久99国产亚洲精品观看| 久久精品国产亚洲AV未满十八| 国产性生大片免费观看性| 亚洲午夜未满十八勿入网站2| 黄色网页在线免费观看| 亚洲精品乱码久久久久久按摩| 国产午夜亚洲精品国产| 免费看的一级毛片| 亚洲第一福利网站| 真人做人试看60分钟免费视频| 亚洲国产精品一区二区三区久久 | 国产精品免费久久久久电影网| 免费中文熟妇在线影片 | 免费黄网在线观看| 一区免费在线观看| 亚洲AV永久纯肉无码精品动漫 | 亚洲第一永久AV网站久久精品男人的天堂AV | 亚洲一卡2卡3卡4卡乱码 在线| 精品国产免费观看| japanese色国产在线看免费| 亚洲国产精品国自产拍电影| 国语成本人片免费av无码| 色婷婷精品免费视频| 亚洲成a人片在线观看日本| 一区二区三区免费高清视频| 国产乱弄免费视频| 亚洲精品无码成人| 成人影片麻豆国产影片免费观看| 色天使亚洲综合一区二区| 亚洲第一AV网站| 免费高清资源黄网站在线观看| 国产成年无码久久久免费| 亚洲国产日韩综合久久精品| 中文字幕亚洲电影|