大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java學習 Java基礎教程:Java動態數組

Java基礎教程:Java動態數組

更新時間:2020-02-24 13:45:13 來源:動力節點 瀏覽2446次


Java基礎教程:Java動態數組


  我們可以使用Class類中的isArray()方法來檢查類是否是數組。


  我們可以創建一個數組,使用反射通過讀取和修改其元素的值java.lang.reflect.Array類。


  Array類的getLength()方法獲取數組的長度。


  Array類中的所有方法都是靜態的。


  要創建數組,請使用Array類中的重載靜態方法newInstance()。


  ObjectnewInstance(Class<?>componentType,intarrayLength)


  ObjectnewInstance(Class<?>componentType,int...dimensions)


  第一個方法根據指定的組件類型和數組長度創建一個數組。


  第二個版本創建指定組件類型和尺寸的數組。


  newInstance()方法的返回類型是Object,我們需要將它轉換為實際的數組類型。


  下面的代碼創建一個長度為5的int數組。


  int[]ids=(int[])Array.newInstance(int.class,5);


  要創建一個維度為5乘3的int數組。


  int[][]matrix=(int[][])Array.newInstance(int.class,5,3);


  例子


  以下代碼顯示了如何動態創建數組并操作其元素。


  importjava.lang.reflect.Array;


  publicclassMain{


  publicstaticvoidmain(String[]args){


  try{


  Objectmy=Array.newInstance(int.class,2);


  intn1=Array.getInt(my,0);


  intn2=Array.getInt(my,1);


  System.out.println("n1="+n1+",n2="+n2);


  Array.set(my,0,11);


  Array.set(my,1,12);


  n1=Array.getInt(my,0);


  n2=Array.getInt(my,1);


  System.out.println("n1="+n1+",n2="+n2);


  }catch(NegativeArraySizeException|IllegalArgumentException


  |ArrayIndexOutOfBoundsExceptione){


  System.out.println(e.getMessage());


  }


  }


  }


  上面的代碼生成以下結果。


  Java數組反射


  獲取數組的維度


  Java支持array數組。


  類中的getComponentType()方法返回數組的元素類型的Class對象。


  以下代碼說明了如何獲取數組的維度。


  publicclassMain{


  publicstaticvoidmain(String[]args){


  int[][][]intArray=newint[1][2][3];


  System.out.println("int[][][]dimensionis"+getArrayDimension(intArray));


  }


  publicstaticintgetArrayDimension(Objectarray){


  intdimension=0;


  Classc=array.getClass();


  if(!c.isArray()){


  thrownewIllegalArgumentException("Objectisnotanarray");


  }


  while(c.isArray()){


  dimension++;


  c=c.getComponentType();


  }


  returndimension;


  }


  }


  上面的代碼生成以下結果。


  Java數組反射


  展開數組


  Java數組是一個固定長度的數據結構。


  要放大數組,我們可以創建一個更大尺寸的數組,并將舊數組元素復制到新數組元素。


  以下代碼顯示如何使用反射展開數組。


  importjava.lang.reflect.Array;


  importjava.util.Arrays;


  publicclassMain{


  publicstaticvoidmain(String[]args){


  int[]ids=newint[2];


  System.out.println(ids.length);


  System.out.println(Arrays.toString(ids));


  ids=(int[])expandBy(ids,2);


  ids[2]=3;


  System.out.println(ids.length);


  System.out.println(Arrays.toString(ids));


  }


  publicstaticObjectexpandBy(ObjectoldArray,intincrement){


  ObjectnewArray=null;


  intoldLength=Array.getLength(oldArray);


  intnewLength=oldLength+increment;


  Class<?>c=oldArray.getClass();


  newArray=Array.newInstance(c.getComponentType(),newLength);


  System.arraycopy(oldArray,0,newArray,0,oldLength);


  returnnewArray;


  }


  }


  上面的代碼生成以下結果。


    Java基礎教程:Java動態數組

       以上就是動力節點Java培訓機構小編介紹的“Java基礎教程:Java動態數組”的內容,希望對大家有幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。


提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 日韩亚洲人成在线综合 | 亚洲精品久久九九精品 | 日韩a级片 | 日本一级作爱片在线观看 | 香蕉依依精品视频在线播放 | 国产精品嫩草研究所永久网址 | 久久久久久久国产视频 | 天天干天天摸 | 国产乱人伦av在线a 国产乱人伦精品一区二区 国产乱人伦偷精品视频不卡 | 热99re久久国超精品首页 | www欧美视频 | 久久免费视频6 | 岛国精品在线观看 | 激情五月婷婷红人馆 | 亚洲一区二区三区精品国产 | 久久国产精品亚洲va麻豆 | 久久综合九色综合欧美狠狠 | 亚洲五月婷婷 | 日本α级毛片视频免费观看 | 国产成人精品影院狼色在线 | 91青青青国产在观免费影视 | 国产操穴 | 一级特黄aaa大片大全 | 91精品视频在线免费观看 | 国产99精品 | 一区视频在线播放 | 一级一级一级一级毛片 | 国产一级爱c片免费播放 | 最新中文字幕在线观看 | 久久综合九色综合77 | 国产欧美日韩高清专区手机版 | 四虎影视永久免费观看地址 | 色婷婷综合在线 | 免费在线观看黄色小视频 | 亚洲成人18 | 99九九成人免费视频精品 | 国产成人久久一区二区三区 | 成年女人免费看一级人体片 | 亚洲视频 在线观看 | 国产国产精品人在线观看 | 夜色福利一区二区三区 |