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

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

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

    posts - 262,  comments - 221,  trackbacks - 0
    【1】Array簡介
    Java反射技術除了可以在運行時動態地決定要創建什么類型的對象,訪問哪些成員變量,方法,還可以動態地創建各種不同類型,不同維度的數組。
     
    動態創建數組的步驟如下:
      1.創建Class對象,通過forName(String)方法指定數組元素的類型
      2.調用Array.newInstance(Class, length_of_array)動態創建數組
     
    訪問動態數組元素的方法和通常有所不同,它的格式如下所示,注意該方法返回的是一個Object對象
      Array.get(arrayObject, index)
      
    為動態數組元素賦值的方法也和通常的不同,它的格式如下所示, 注意最后的一個參數必須是Object類型
      Array.set(arrayObject, index, object)

    動態數組Array不單可以創建一維數組,還可以創建多維數組。步驟如下:
      1.定義一個整形數組:例如int[] dims= new int{5, 10, 15};指定一個三維數組
      2.調用Array.newInstance(Class, dims);創建指定維數的數組
     
    訪問多維動態數組的方法和訪問一維數組的方式沒有什么大的不同,只不過要分多次來獲取,每次取出的都是一個Object,直至最后一次,賦值也一樣。
     
    動態數組Array可以轉化為普通的數組,例如:
      Array arry = Array.newInstance(Integer.TYPE,5);
      int arrayCast[] = (int[])array;

    【2】示例代碼
    A. 一維數組:
    public static void main(String args[]) throws Exception {
            Class
    <?> classType = Class.forName("java.lang.String");
            
    // 創建一個長度為10的字符串數組
            Object array = Array.newInstance(classType, 10);
            
    // 把索引位置為5的元素設為"hello"
            Array.set(array, 5"hello");
            
    // 獲得索引位置為5的元素的值
            String s = (String) Array.get(array, 5);
            System.out.println(s);
        }

    B. 多維數組:
    public static void main(String args[]) {
            
    int[] dims = new int[] { 51015 };
            
    // 創建一個具有指定的組件類型和維度的新數組。
            Object array = Array.newInstance(Integer.TYPE, dims);
            

            
    // 取出三維數組的第3行,為一個數組
            Object arrayObj = Array.get(array, 3);
            Class
    <?> cls = arrayObj.getClass().getComponentType();
            System.out.println(cls);

            
    // 取出第3行的第5列,為一個數組
            arrayObj = Array.get(arrayObj, 5);
            
    // 訪問第3行第5列的第10個元素,為其賦值37
            Array.setInt(arrayObj, 1037);
            
            
    // 動態數組和普通數組的轉換:強行轉換成對等的數組
            int arrayCast[][][] = (int[][][]) array;
            System.out.println(arrayCast[3][5][10]);
        }


    -------------------------------------------------------------
    生活就像打牌,不是要抓一手好牌,而是要盡力打好一手爛牌。
    posted on 2008-09-04 15:13 Paul Lin 閱讀(1143) 評論(0)  編輯  收藏 所屬分類: J2SE
    <2008年9月>
    31123456
    78910111213
    14151617181920
    21222324252627
    2829301234
    567891011

    常用鏈接

    留言簿(21)

    隨筆分類

    隨筆檔案

    BlogJava熱點博客

    好友博客

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 香蕉免费一区二区三区| a级在线观看免费| 成人无遮挡裸免费视频在线观看 | 国产成人精品免费午夜app| 91亚洲一区二区在线观看不卡| a级成人免费毛片完整版| 亚洲丁香色婷婷综合欲色啪| 一级毛片免费观看不卡的| 亚洲系列国产精品制服丝袜第| 国产妇乱子伦视频免费| 亚洲偷自拍另类图片二区| 暖暖免费高清日本一区二区三区 | 大片免费观看92在线视频线视频| 五月天婷亚洲天综合网精品偷| 午夜免费国产体验区免费的| 在线亚洲人成电影网站色www| 日本免费中文视频| 亚洲日本香蕉视频观看视频| 成年人在线免费看视频| 无忧传媒视频免费观看入口| 亚洲人成影院在线无码按摩店| 日本一道本不卡免费 | 亚洲制服丝袜一区二区三区| 女人被免费视频网站| 色屁屁在线观看视频免费| 国产亚洲高清不卡在线观看| 成人福利免费视频| 美女露隐私全部免费直播| 亚洲国产精品无码专区影院| 国产一卡2卡3卡4卡无卡免费视频| 色偷偷噜噜噜亚洲男人| 国产亚洲AV无码AV男人的天堂 | 一出一进一爽一粗一大视频免费的 | 国产在线19禁免费观看| 免费人成激情视频在线观看冫| 亚洲激情校园春色| 高清在线亚洲精品国产二区| 99爱免费观看视频在线| 激情无码亚洲一区二区三区| 亚洲A∨无码无在线观看| 国产一级高清视频免费看|