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

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

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

    I want to fly higher
    programming Explorer
    posts - 114,comments - 263,trackbacks - 0
        周五那天去同事那問一個問題,看他正在寫代碼。突然的發(fā)現(xiàn)在類變量初始化那里這樣一行代碼:
        
    1int[] exp = new int[]{};

        乍一看,覺得很不順眼,因為自己從來都沒有這樣用過,覺得很不適應(yīng)。后來回去翻閱了一些書籍,發(fā)現(xiàn)自己真的有很多基礎(chǔ)的東西都忘掉了。
        數(shù)組初始化,你覺得簡單嗎?

        a.如果你覺得簡單,那請看下面的代碼:
    1int[] a = new int[0];
    2    int[] b = new int[]{};
    3    int[] c = {};

        你覺得這三種方式,你熟悉嗎?它們的作用一樣嗎?哈哈,其實,三種效果是一樣的。如果輸出的話,a,b,c的長度都是0。大家也許可能最熟悉下面這種初始化方式:
        
    1int[] d = {1,2,3,4,5};
    2 for(int temp : d)
    3 {
    4 System.out.println(temp);
    5 }

    6

            當(dāng)然這種方式:
        int[] e = new int[]{1,2,3,4,5},估計也有很多人知道,但是卻不一定常用。不過這種方式卻很重要,因為如果當(dāng)調(diào)用一個方法的時候,該方法的形參是一個整型數(shù)組,這時你傳實參的話,會怎么傳?譬如說:有一個方法:
    initialArray(int[] array),你會怎么傳參數(shù)呢?有三種選擇:
        A.initialArray({1,2,3,4,5})
        B.initialArray(1,2,3,4,5);
        C.initialArray(new int[]{1,2,3,4,5})
        如果你答對了,那么恭喜你。答案就是C。第一種方式,只能用來數(shù)組初始化的且只是這種情況,而不能傳參。當(dāng)然編譯會出錯。第二種方式就更不對了。不過后面我會講到如果改變一下initialArray方法的參數(shù)形式的話,就對了。只有C是正確的答案。
        上面介紹的是基本類型數(shù)組的初始化,對象數(shù)組初始化其實也一樣。比如說,String數(shù)組初始化:
        String[] strArray = {"kobe","tmac"}或者String[] strArray = new String[]{"kobe","tmac"};當(dāng)然這里String比較特殊,可以用字符串直接初始化。
        當(dāng)然,我說的不是這種:
        Integer[] integerArray = new Integer[3];這只是申請了3個引用的空間而已。我說的是Integer[] integerArray = new Integer[]{1,2,3}這樣的初始化。當(dāng)然這里Integer也比較特殊,因為現(xiàn)在早已經(jīng)可以自動裝包/拆包了。

        b.你經(jīng)常使用新的可變參數(shù)列表形式嗎?
        比如說,你現(xiàn)在寫main函數(shù)的參數(shù)是main(String[] args)還是main(String...args),我覺得很多人仍然會用第一種形式。我個人還是非常喜歡新的可變參數(shù)列表形式的。比如說上面的一個例子,我如果把initialArray放的參數(shù)形式改一下,即
    initialArray(int...args),下面?zhèn)鲗崊⒌臅r候,你會怎么選擇呢,我還是給出上面的三個選項,再加上一個D
         A.initialArray({1,2,3,4,5})
         B.initialArray(1,2,3,4,5);
         C.initialArray(new int[]{1,2,3,4,5})
         D.initialArray();
          改成這樣的話,正確答案就有三個了。B,C,D均為正確答案
          使用新的可變參數(shù)里列表形式是非常靈活的,可以都不傳參數(shù);當(dāng)然它也有弊端,比如重載的時候,可能會模棱兩可。

        其實,寫了這么多,主要想表達的意思是:基礎(chǔ)真的很重要。引用創(chuàng)新工廠首席架構(gòu)師蔡學(xué)鏞微博上的一句話:

    優(yōu)秀的程序員靠的是扎實的基礎(chǔ)訓(xùn)練+靈活的思考能力+搜索引擎;次級的程序員靠的是過去的經(jīng)驗+搜索引擎;最差的程序員只靠搜索引擎。可見扎實的基礎(chǔ)訓(xùn)練是一個優(yōu)秀程序員的必備條件。共勉。

    posted on 2011-01-09 17:30 landon 閱讀(5244) 評論(10)  編輯  收藏 所屬分類: Program

    FeedBack:
    # re: 數(shù)組初始化,你覺得簡單嗎?
    2011-01-10 08:55 | scelong
    呵呵,搞了這么久都是喜歡new int[]{}這種類型!  回復(fù)  更多評論
      
    # re: 數(shù)組初始化,你覺得簡單嗎?
    2011-01-10 12:26 | 610622106
    很不錯,值得學(xué)習(xí),支持!  回復(fù)  更多評論
      
    # re: 數(shù)組初始化,你覺得簡單嗎?
    2011-01-10 20:54 | landonlv
    嗯,這種方式很不錯。哈哈@scelong
      回復(fù)  更多評論
      
    # re: 數(shù)組初始化,你覺得簡單嗎?
    2011-01-10 20:54 | landonlv
    恩,比較基礎(chǔ)的東西。互相學(xué)習(xí)@610622106
      回復(fù)  更多評論
      
    # re: 數(shù)組初始化,你覺得簡單嗎?
    2011-01-11 12:07 | 打底褲
    學(xué)習(xí)學(xué)習(xí)  回復(fù)  更多評論
      
    # re: 數(shù)組初始化,你覺得簡單嗎?[未登錄]
    2011-01-13 16:53 | owen
    我也比較喜歡new int[]{1,2,3,4}這種寫法,

    int[] a = new int[0];
    int[] b = new int[]{};
    int[] c = {};

    不熟悉第三種,不明白這樣寫有什么用,就僅僅是定義整形數(shù)組嗎?


      回復(fù)  更多評論
      
    # re: 數(shù)組初始化,你覺得簡單嗎?
    2011-01-13 22:03 | landonlv
    哈哈。thanks@打底褲
      回復(fù)  更多評論
      
    # re: 數(shù)組初始化,你覺得簡單嗎?
    2011-01-13 22:05 | landonlv
    這種形式幾乎很少用,僅僅是為了證明語法是正確的,且可以這樣寫。@owen
      回復(fù)  更多評論
      
    # re: 數(shù)組初始化,你覺得簡單嗎?
    2011-01-14 16:53 | David Gao
    講解很到位,分享了:)  回復(fù)  更多評論
      
    # re: 數(shù)組初始化,你覺得簡單嗎?
    2011-01-15 22:25 | landonlv
    謝謝,我很欣慰。@David Gao
      回復(fù)  更多評論
      
    主站蜘蛛池模板: 羞羞视频免费网站日本| 久久99九九国产免费看小说| 亚洲成人午夜在线| 精品熟女少妇AV免费观看| 特级毛片aaaa免费观看| 7777久久亚洲中文字幕蜜桃| 国产精品无码免费视频二三区| 中文字幕手机在线免费看电影| 国产成+人+综合+亚洲专| 亚洲欧洲日产国码二区首页| 日韩成人免费视频播放| 野花香高清视频在线观看免费| 国产亚洲精品VA片在线播放| 国产精品亚洲A∨天堂不卡| 亚洲一区二区三区免费| 亚洲色偷偷av男人的天堂| 亚洲精品视频免费观看| 亚洲精品动漫免费二区| 免费毛片在线看不用播放器 | 免费在线精品视频| 国产免费丝袜调教视频| 亚洲av午夜精品无码专区| 国产亚洲精品自在线观看| 色播在线永久免费视频| 99re6在线视频精品免费下载| 无遮挡免费一区二区三区| 亚洲jizzjizz在线播放久| 久久久久无码精品亚洲日韩| 啊v在线免费观看| 永久免费AV无码国产网站| 一个人免费视频观看在线www| 老牛精品亚洲成av人片| 亚洲国产激情在线一区| 亚洲AV无码AV男人的天堂| 久久亚洲欧洲国产综合| 免费在线观看黄色毛片| 最好免费观看韩国+日本| 国产男女爽爽爽爽爽免费视频| 全免费a级毛片免费看| 久久精品成人免费观看97| 免费国产污网站在线观看不要卡|